我使用的是AngularJS 1.2.3,默认情况下它应该启用SCE服务。但是,我得到了以下错误:
http://errors.angularjs.org/1.2.3/$injector/modulerr?p0=SaveApp&p1=Error: [$injector:unpr]
http://errors.angularjs.org/1.2.3/$injector/unpr?p0=%24sce
at Error (native)
这是我的密码:
var AwesomeApp = angular.module('AwesomeApp', ['ngCookies', 'ngSanitize', 'ngRoute', 'ui.bootstrap', 'ui.router'], function($httpProvider, $dialogProvider) {
再往下走一点:
AwesomeApp.config(['$routeProvider', '$compileProvider', '$sce', function($routeProvider, $compileProvider, $sce) {
$routeProvider.
when('/', {templateUrl: $sce.getTrustedResourceUrl(chrome.extension.getURL('app.html')), controller: 'searchResultsController'}).
otherwise({redirectTo: '/'});
知道为什么会出现未知提供者错误吗?
发布于 2014-02-17 15:08:50
$sce
是一个服务(不是提供者)
不能只将服务注入配置块提供程序。
您可以做的是注入$sceDelegateProvider
并创建一个白名单:
.config(function($sceDelegateProvider){
$sceDelegateProvider.resourceUrlWhitelist(['self','http://*.url.com/**']);
})
来自$sceDelegateProvider文档
$sceDelegateProvider提供程序允许开发人员配置$sceDelegate服务。这允许获取/设置白名单和黑名单,以确保用于获取角模板的URL是安全的。
https://stackoverflow.com/questions/21832257
复制相似问题