我注入$ scope和$ location以及$ routeProvider之类的东西没问题,为什么$ compileProvider不同?
基于this answer,我明白我必须指示angular不要为某些链接添加前缀(在我的情况下是短信),但我不能在我的项目中应用答案。它说我应该补充一下:
angular.module('myModule', [], function ($compileProvider) {
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|file):/);
});
但Chrome控制台说:
“angular.js:68未捕获错误:[$ injector:unpr]未知提供商: $ compileProviderProvider< - $ compileProvider“
“提供者 - 提供者”的事情让我觉得服务的真实名称只是$ compile(而且这个角度正在“提供者”后缀上添加:
angular.module('myModule', [], function ($compile) {
$compile.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|file):/);
});
然而,可以预见,我猜,我得到了:
angular.js:13550 TypeError:$ compile.aHrefSanitizationWhitelist不是函数
答案 0 :(得分:6)
那是因为您必须将其添加为配置:
angular.module('myModule').config(['$compileProvider',
function($compileProvider) {
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|file):/);
}
]);