2016-05-27 7 views
1

私は$ scopeと$ locationと$ routeProviderのようなものを注入するのに問題はありません、なぜ$ compileProviderが違うのですか?

this answerに基づいて、特定のリンク(私の場合はSMS)の前に接頭辞を付けないように指示する必要があることを理解していますが、私のプロジェクトで回答を適用することはできません。

angular.module('myModule', [], function ($compileProvider) { 
    $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|file):/); 
}); 

しかし、クロムコンソールは言う:それは私がこれを追加する必要が言う

"angular.js:68 Uncaught Error: [$injector:unpr] Unknown provider: $compileProviderProvider <- $compileProvider"

「プロバイダプロバイダ」の事は私がサービスの本当の名前はちょうど$コンパイルされていることを考えさせられたこと(とその角度は、 "プロバイダ" サフィックスにタックされています。

angular.module('myModule', [], function ($compile) { 
    $compile.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|file):/); 
}); 

しかし、その後、予想通り、私は推測する、私が取得:

あなたが設定として追加する必要があるためです

答えて

5

angular.module('myModule').config(['$compileProvider', 
 
    function($compileProvider) { 
 
    $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|file):/); 
 
    } 
 
]);

+0

おかげけど運。私は "angular.js:68を取得します。Uncaught Error:[$ injector:modulerr] のためにモジュールmytodoAppをインスタンス化できませんでした。TypeError:$ compileProvider.urlSanitizationWhitelistは関数ではありません"(myModuleをmytodoApp (私のアプリ名です) – user1272965

+0

あなたは "aHrefSanitizationWhitelist"を試しましたか?urlSanitizationWhiteListメソッドが削除され、imgSrcSanitizationWhitelistとaHrefSanitizationWhitelist – Oliver

+0

に分割されたので、それは本当に問題でした。 – user1272965

関連する問題