2013-10-16 3 views
7

$ 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', '$sce', '$scope', '$http', '$resource', '$state', 
    function ($rootScope, $sce, $scope, $http, $resource, $state) { 

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

을 나는 각-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에서

다음은이 :

이 내가해야 할 일에 대해 갈 수있는 올바른 방법인가?

답변

12

기본적으로 $ sce가 각도 1.2부터 시작되므로 $ sce를 얻기 위해 더 이상 위생 처리 할 필요가 없습니다. 따라서 1.2에서는 다른 서비스와 마찬가지로 $ sce를 전달할 수 있습니다. 그러나 각도가 버전 1.2인지 확인하십시오 (sanitize 버전과 코어를 비교 한 경우).

+0

사실 내 관리자가 만든 신뢰할 수있는 데이터와 위생을 원하지 않는 데이터를 보여주고 싶습니다. 그래서 나는 그것을 할 수 있다고 믿는다 : $ sce.trustAsHtml (data.text) 당신은 그것이 "기본적으로 포함되어있다"고 언급했다. 그래서 당신은 'ngSanitize'등을 추가 할 필요가 없다고 말하고 있습니까? –

+0

1.2에 올라가 있어도 괜찮다면 $ sce에 액세스 할 필요가 없습니다. – KayakDave

+0

1.2를 사용하고 있지만 어떻게하면 $ sce를 할 수 있습니까? 내가 액세스하지 않으면 trustAsHtml? –

10

문제는 모듈 구성 블록 내에서 서비스 인 $ sce를 사용하려고하는 것입니다. 이 블록에서는 공급자 만 액세스 할 수 있습니다.

.config(['$locationProvider', '$sceProvider', '$stateProvider', 
    function ($locationProvider, $sceProvider, $stateProvider) { 

.config(['$locationProvider', '$sce', '$sceProvider', '$stateProvider', 
    function ($locationProvider, $sceProvider, $stateProvider) { 

이 이후로는 그 여분의 '$ SCE'종속 것 같다 변경 어쨌든 잘못이었다. 당신은 그것을 사용하지 않았으며 매개 변수로 정의되지 않았습니다.

관련 문제