微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AngularJS中的未知提供商$sce

我正在尝试使用$sce.我设置了这样的代码
var app = angular
    .module('app',['ui.router','admin','home','questions','ngResource','ngSanitize','LocalStorageModule','ajoslin.promise-tracker'])
    .config(['$locationProvider','$sce','$sceprovider','$stateProvider',function ($locationProvider,$sceprovider,$stateProvider) {

            $sceprovider.enabled(false);
            $locationProvider.html5Mode(true);

在控制器中:

angular.module('questions')
    .controller('QuestionsContentController',['$rootScope','$scope','$http','$resource','$state',function ($rootScope,$sce,$scope,$http,$resource,$state) {

        var isNumber = !isNaN(parseFloat($state.params.content));

我检查了,我加载了angular-sanitize.js v1.2.0-rc.3.

但是我收到一条消息:

Uncaught Error: [$injector:modulerr] Failed to instantiate module app due to:
Error: [$injector:unpr] UnkNown provider: $sce

任何人都可以通过暗示我做错了什么来帮助我.我尽可能地遵循了这个例子但却找不到什么是错的.

一些背景:

我认为我需要获得$sce的原因是因为我拥有100%信任的数据并且我想要在屏幕上显示.它的数据包含“<” “>” 中“&安培;”和这样的事情.我设置$sceprovider.enabled(false)但数据仍然显示不正确.接下来我想我可能需要这样做:

$scope.content = data.text;
$scope.unsanitizedQuestionText($sce.trustAsHtml(data.text))

然后在我的HTML中有:

这是解决我需要的正确方法吗?

认情况下包含$sce,从角度1.2开始,因此您不再需要消毒以获得$sce.因此,使用1.2,您可以将$sce传递给任何其他服务.但请确保您的角度为1.2版(如果您检查了清理版本与核心版本).

原文地址:https://www.jb51.cc/angularjs/141840.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐