前端我爱编程

Angular4问题记录

2018-05-01  本文已影响518人  pastFirst

1.No template specified for component 'RightsComponent'

组件没有被ngmodule引用,一般是路由或者配置出现了问题,检查即可

2.Cannot find module '@angular-devkit/core'

更改package.json文件中devDependencies的@angular/cli版本,然后执行npm i 即可

3.使用ngx-weui 的weui-infiniteloader组件时,导致(scroll)无效

weui-infiniteloader是ngx-weui的上拉加载组件,使用该组件时,无法再外层节点或者该节点使用(scroll)监听滑动距离,暂时不清楚原因.

解决办法:使用jq的监听方法,监听.weui-infiniteloader__content样式即可

$(".weui-infiniteloader__content").scroll((e) =>{

    // ....

});

4.Safari和其它老式浏览器不支持Date和Currency管道需要ECMAScript国际化(I18n)API

该问题可以用垫片(Polyfill)解决。

<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=Intl.~locale.en"></script>

5 文件上传字节流转换后打包过程报类型不符合

   
    let _file: File = event.target.files[0];
    let reader = new FileReader();
    reader.readAsDataURL(_file);
    reader.onload = (e)=>{
      let obj : any = e.target.result;   
      $('#triggerImg').attr("src", obj);
    };


    question:Property 'result' does not exist on type 'EventTarget'.

因为readAsDataURL会将图片转换成base64码,再通过FileReader对象的onload方法返回回来
但是TyrScript编译器不知道你正在返回一个什么类型的东西,
e.target默认为EventTarget类型,但是result为string类型,因此会报错。
解决办法:  let obj : any = (e.target as any).result;   

**6 H5图片上传转base64显示于页面上出现sanitizing unsafe URL value data **

应该是angular4自带的检查机制引起的,解决办法

import { DomSanitizer } from '@angular/platform-browser';

let base64_Url = (e.target as any).result;
this.sanitizer.bypassSecurityTrustUrl(base64_Url);

上一篇下一篇

猜你喜欢

热点阅读