2013-03-26 75 views
0

我越來越從服務的角度內容的HTML,內容是類似的東西angularjs過濾器遠程內容

<div>{{ @event.dateBegin | stringToDate }}</div> 

的服務是一樣的東西

$scope.setContext = function() { 
    $http.get(service).success(function(response) { 
      $scope.content = response; 
    });     

內容DIV是

<div class="span9" ng-bind-html-unsafe="content"></div> 

併爲結果我得到了正確的html formmed div,但部分{{}}不能工作,我同意angular-消毒但不能起作用

回答

1

您可以使用$interpolate service。例如,在文檔:

var $interpolate = ...; // injected 
var exp = $interpolate('Hello {{name}}!'); 
expect(exp({name:'Angular'}).toEqual('Hello Angular!'); 

所以,在你的具體的例子,裏面你的成功回調:

var exp = $interpolate(response); 
$scope.content = exp(event); 

,推薦,我只想傳回的數據,而不是HTML,如果你能幫助它並保留角度應用程序中的所有模板。

+0

好!非常感謝! – 2013-03-27 20:03:25

+0

我試圖用這樣​​組件 @ event.name,但這麼想的工作 – 2013-03-27 22:44:02

+0

嗯,首先你需要你{{}}中的變量'event.name',以便可以將值注入到模板中。其次,@event不是一個有效的java腳本變量:參見[here](http://stackoverflow.com/questions/1661197/valid-characters-for-javascript-variable-names) – Xesued 2013-03-28 02:44:40