2015-04-08 106 views
-2

我有這樣的代碼: http://jsbin.com/gazajunacu/1/edit?html,js,output角JS共享功能

 angular.module('app', []) 
     .service('greeting', function Greeting() { 
      var greeting = this; 
      greeting.message = '<strong>Default 2</strong>'; 
     }) 
     .controller('FirstCtrl', function ($sce, greeting) { 
      var first = this; 

      first.greeting = $sce.trustAsHtml(greeting); 
     }) 
     .controller('SecondCtrl', function (greeting) { 
      var second = this; 

      second.greeting = greeting; 
     }) 

我不能讓它吐HTML的第一個控制器。我無法得到它的工作。請檢查腳本中缺少的內容。

謝謝。

+1

請包括代碼在你的問題中也是如此。關於它如何不起作用的任何闡述都是好的。 – ryanyuyu

+0

不要在評論中放置代碼塊,更新問題本身,以便您可以格式化代碼 – charlietfl

+0

好的 - 它在Q. – New2JQ

回答

2

的問題是,你沒有在您的圖書館角sanitize.js。

正確的方式來做到這一點是這樣的:http://jsbin.com/rowukowuba/1/edit

包含在HTML頁面的頁面和使用NG綁定,HTML指令角sanitize.js。

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0-beta.5/angular-sanitize.js"></script> 

<div> 
    <span ng-bind-html="greeting"> </span> World 
</div> 
<div ng-controller="SecondCtrl as second"> 
    <span ng-bind-html="greeting.message"> </span> in Second 
</div> 
</body> 

在JavaScript,只需將HTML代碼的範圍和確保您有ngSanitize(我適應您的代碼):

angular.module('app', ['ngSanitize']) 
    .service('greeting', function Greeting() { 
    var greeting = this; 
    greeting.message = '<strong>Default 2</strong>'; 
    }) 
    .controller('FirstCtrl', function ($scope, greeting) { 
    $scope.greeting = '<strong>Default 2</strong>'; 
    }) 
    .controller('SecondCtrl', function ($scope, greeting) { 

    $scope.greeting = greeting; 
    }); 
+0

就是這樣。謝謝。 – New2JQ

1

這應該有助於

angular.module('app', []) 
.service('greeting', function Greeting() { 
    var greeting = this; 
    greeting.message = '<strong>Default 2</strong>'; 
}) 
.controller('FirstCtrl', function (greeting) { 
    var me = this; 
    me.greeting = greeting; 
}) 
.controller('SecondCtrl', function ($scope,greeting) { 

    var me = this; 
    me.greeting = greeting; 
}) 

;

以下行創建了錯誤

first.greeting = $sce.trustAsHtml(greeting); 
+0

我想顯示HTML內容,所以代碼是正確的trustAsHtml。 – New2JQ

+0

在你看來,你指的是問候,就像是在範圍內。當你寫{{greeting.message}}與控制器中的同一個叫做問候的屬性時,基本上相同$ scope.greeting.message –