我正在尝试使用$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版(如果您检查了清理版本与核心版本).