2016-08-01 52 views
1

我想实现这个过滤器角的过滤器提供商:trustedProvider < - 信任< - DashCtrl

app.filter('trusted', ['$sce', function ($sce) { 
return function(url) { 
    return $sce.trustAsResourceUrl(url); 
}; 

<video ng-src="{{videoFile.path | trusted}}" controls="controls" autoplay> </video> 

,我发现这里 External resource not being loaded by AngularJs

为了让视频播放当我越来越这个错误: 错误:[$sce:insecurl] Blocked loading resource from url not allowed by $sceDelegate policy.

我不能让过滤器显示,我得到这个错误:

[$injector:unpr] Unknown provider: trustedProvider <- trusted <- DashCtrl

我试过在像index.js中设置应用程序的地方添加过滤器代码,但似乎无法让它显示出来。任何想法,我要去错了吗?

回答

2

变化与此类似,

控制器:

routerApp.controller('trusted', ['$scope','$sce', function($scope,$sce) { 
     $scope.trustSrc = function(src) { 
      return $sce.trustAsResourceUrl(src); 
     } 
     } 
    ]); 

HTML:

<video ng-src="{{trustSrc(videoFile.path)}}" controls="controls" autoplay> </video> 

Sample Application

1

得到这个错误的意思您正试图将“可信”注入您的控制器。

其实你不需要那样做。过滤器可以不注入使用。

你需要做的就是调用.filter就像你定义控制器。

相关问题