发表于: 2017-03-06 23:46:57

1 1405



今天完成的事情:

发布时间显示小时或日期;

根据毫秒数差值判断选择方式,返回取整小时数或返回具体日期与时间。


我的收藏视频、文章;

收藏项目文章列表、视频列表


视频详情信息展示与播放;


处理所有滚动页面的click与ui-sref等事件:

iscroll滚动应该配合tap事件所有相关的点击事件,ui-sref等事件实际上通过绑定click触发$state.go()实现跳转,所以用自定义指令替换,这里把参数和state分开处理

link: function (scope, ele, attrs) {
ele.on('tap', function () {
   var path = attrs.tapSref;
   $state.go(path, scope.params)
})



明天计划的事情:

完成手机邮箱绑定


遇到的问题:

视频详情:

通过ng-src将url绑定至source时,频繁报错,绑定poster时也一样。

在设置视频预览图poster时,直接用ng-src报错,不能显示截图,这里没深究,用新建指令生成src后解决问题;


<video class="video-js vjs-default-skin mr-tb" controls preload="none"
      video-poster="{{vm.video.poster}}"
      data-setup="{}" x5-video-player-type="h5" x5-video-player-fullscreen="false" ng-if="vm.video">
   <source ng-src="{{vm.video.videoUrl|secService}}" type='video/mp4'/>
</video>

但在绑定设置视频地址的时候,用ng-src绑定url,url可以正常打印出来,但却无法设置到source中,在找了相关资料以后,有网友提到$sce,可能是被拦截了,尝试了一下

.filter('secService',function ($sce) {
   return function (url) {
     return  $sce.trustAsResourceUrl(url)
   }
})

问题解决。

之前也有了解过$sce,印象中仅限于可以解除插入html限制,但这种情况在引用图片地址的时候却没发生过,所以一直没放心上。在这里学习了。。。。

$sce 服务是AngularJs提供的一种严格上下文逸出服务。

$sce.RESOURCE_URL   将RESOURCE_URL安全的绑定到应用程序中并保证其可用。


如何使$sce服务可用或者不可用?

angular.module(“myApp”,[]).config([“$sceProvider”,function($sceProvider){

$sceProvider.enabled(true/false);

}]);


trustAs(type,value);

返回一个在angular中作为指定的使用严格上下文逸出服务上下文中的值的对象使用。

type:上下文中能安全的被使用的值,如url,resourceUrl,html,js和css。

value:需要被认为是安全或者值的信赖的值。



$scope.trustSrc = $sce.trustAs($sce.RESOURCE_URL,"http://fanyi.youdao.com/");

 $scope.trustSrc = $sce.trustAsResourceUrl("http://fanyi.youdao.com/");//二者等效

收获:



返回列表 返回列表
评论

    分享到