2014-11-20 2 views
0

AngularJS를 사용하고 있습니다. 나는 범위 변수 $scope.TextToUser을 가지고 있는데,이 변수는 웹 사이트에서 사용자에게 보여지기 위해 html 형식으로 인쇄됩니다. 내 컨트롤러에서 코드는 간단하고 다음과 같습니다.

$scope.TextToUser='UserText' 

해당 HTML 페이지에서 코드는 단지 {{TextToUser}}입니다.

컨트롤러에서 다음 코드를 사용하여 텍스트를 빨간색으로 바꿨습니다.

$scope.TextToUser = '<font size="3" color="red"> 'UserText'</font>' 

불행하게도, HTML 페이지에 전체 문자열을 인쇄 한과 빨간색하지 UserText. 어떻게하면 텍스트를 빨간색으로 바꿀 수 있습니까? 간단하고 직선적 인 방법이 선호됩니다.

+0

이전 답변에는 어떤 현상이 발생 했습니까? 삭제 되었습니까? 그들은 유망 해 보였다. – user781486

답변

2

그럼, 다음은 더 적당하다 :

app = angular.module('<name of your app>', ['ngSanitize']); 

app.controller('<controller name>', function($scope, $interpolate){ 
    $scope.Text = 'Test to User In Red'; 
    $scope.TextToUser = $interpolate('<font size="3" color="red">{{Text}}</font>')($scope); 
}); 

지금 html 바인딩 :

<span ng-bind-html="TextToUser"></span> 

당신은 위생적으로 스크립트를 포함해야합니다. https://code.angularjs.org/1.3.2/angular-sanitize.js

참고 : - $interpolate을 사용해 보았지만 ngSanitize 없이는 unsafe 물건에 대한 오류가 발생합니다.

작업량은 here입니다.

+0

감사합니다. 당신의 대답에 무슨 일이 일어 났는지 걱정했습니다. 갑자기 사라졌습니다. 그것을 시도 할 것이다. 다시 많은 감사드립니다. – user781486

+0

@ user768421은 올바른 방법으로 펑크를 내고있었습니다. – TheVillageIdiot

+0

와우. 너에게 도움이된다. 감사!! – user781486