发表于: 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/");//二者等效
收获:
评论