发表于: 2017-06-06 22:34:40

0 994


今日完成:

调试了真实接口,替换之前的假数据;搜索页面进行中还未做完;

明日计划:

完成接口调试,有些接口内容与后台商量下,应该是不允许排序的;完成ie8兼容性的调试;调试搜索页面的接口。

问题:

今天遇到第一个问题是如何将富文本内容正常显示到html上。得到的富文本内容在网页上直接将标签显示为了字符串;查了很多资料都不对,都是让自己写一个转义的函数。感觉这个办法不对,因为太麻烦了,应该有更简单的办法。

最后问了沁修姐,原来查询资料的方向都错了。这其实是由于angular的安全模式引起的,调用$sce服务,$sce.tuastAsHtml(字符串),这个方法就可以实现富文本内容的正常输出。为了使用方便,将这个方法写进过滤器,在html中使用 ng-bind-html ,即可。

第二个问题来源于ie8的兼容性。根据之前调查的方案,ie8环境,下载PIE.htc文件,在css样式中调用它,就可以实现圆角、阴影等css3属性。但是实际环境中发现行不通,找了很多问题,做了些demo都不行。然后看网上教程,发现很多网上的示例、教程、demo用ie8打开都是失效的。所以这个方法是不可行的,网络果然不可全信。。。 

最后下载css3.htc这个补丁文件,做的demo实现了ie8下的圆角,不过项目的网页打开还是无效,应该是被其他属性影响了。明天再逐一调一下。

收获:

关于angularJs中 $sce的一些知识。

由于angularJs的安全机制,ng-bind不能直接显示带html标签的文档(不确定是不是所有版本都是这样,至少低版本的angularJs是这样的)。这时需要调用$sce服务,它有以下几种方法:

$sce.trustAs(type,name);

$sce.trustAsUrl(value);

$sce.trustAsHtml(value);

$sce.trustAsResourceUrl(value);

$sce.trustAsJs(value);

后四种方法就是第一种方法的简写。

然后在html文件中,引入相应的表达式,如ng-src;ng-bind-html等,就可以输出相应的内容了。



返回列表 返回列表
评论

    分享到