2016-08-01 12 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に電話するだけです。

関連する問題