AngularJS中的未知提供商$sce

前端之家收集整理的这篇文章主要介绍了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版(如果您检查了清理版本与核心版本).

猜你在找的Angularjs相关文章