首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AngularJS:版本1.2.3中$sce的“未知提供者”错误

AngularJS:版本1.2.3中$sce的“未知提供者”错误
EN

Stack Overflow用户
提问于 2014-02-17 14:56:05
回答 1查看 4.2K关注 0票数 3

我使用的是AngularJS 1.2.3,默认情况下它应该启用SCE服务。但是,我得到了以下错误:

代码语言:javascript
运行
复制
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)

这是我的密码:

代码语言:javascript
运行
复制
var AwesomeApp = angular.module('AwesomeApp', ['ngCookies', 'ngSanitize', 'ngRoute', 'ui.bootstrap', 'ui.router'], function($httpProvider, $dialogProvider) {

再往下走一点:

代码语言:javascript
运行
复制
AwesomeApp.config(['$routeProvider', '$compileProvider', '$sce', function($routeProvider, $compileProvider, $sce) {

$routeProvider.
    when('/', {templateUrl: $sce.getTrustedResourceUrl(chrome.extension.getURL('app.html')),   controller: 'searchResultsController'}).
    otherwise({redirectTo: '/'});

知道为什么会出现未知提供者错误吗?

EN

回答 1

Stack Overflow用户

发布于 2014-02-17 15:08:50

$sce是一个服务(不是提供者)

不能只将服务注入配置块提供程序。

您可以做的是注入$sceDelegateProvider并创建一个白名单:

代码语言:javascript
运行
复制
.config(function($sceDelegateProvider){

  $sceDelegateProvider.resourceUrlWhitelist(['self','http://*.url.com/**']);

})

来自$sceDelegateProvider文档

$sceDelegateProvider提供程序允许开发人员配置$sceDelegate服务。这允许获取/设置白名单和黑名单,以确保用于获取角模板的URL是安全的。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21832257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档