2014-01-23 71 views
0

我的$ scope變量是:通NG-重複變量

$scope.content = [{name:"data1", ap_name:"api1"}, 
       {name:"data1", ap_name:"api1"}, 
       {name:"data1", ap_name:"api1"}] 

我的HTML是

<div class="contatiner" ng-repeat="data in content"> 
    <chart chartdata="data.ap_name"></chart> 
</div> 

我想追加一個字符串到我所傳遞chartdata數據。它應該顯示爲:

<chart chartdata="dataapi1"></chart> 

任何想法我該怎麼做?我繼續想在範圍變量中進行更改,我故意這樣做。

假設我已經在指令中設置了範圍,並且圖表指令都很好。

回答

0

您應該在指令定義代碼中使用@

例如:

在你的指令代碼:

scope : { 
    chartdata : '@chartdata' 
    ... 
}, 
controller : function ($scope) { 
    // $scope.chartdata should be a string 
} 

在你的HTML:

<div class="contatiner" ng-repeat="data in content"> 
    <chart chartdata="{{data.ap_name}}"></chart> 
</div> 
+0

沒有得到它,是不是我想要的。我有chartdata:'= chartdata',因爲在範圍中,我將對象從我的控制器發送到我的圖表指令。 –

3

您可以級聯的額外字符串your_model + 'additional string'

chartdata="data.ap_name + 'additional string'" 

而在你的指令,你會被

scope : { 
    chartdata : '=' // it is equivalent to '=chartdata' 
    ... 
} 

Demo

+0

我試過了,似乎沒有工作。你能上傳一個例子嗎? –

+0

查看我的更新回答,已添加'DEMO'。 – Reza

+0

很好的例子,你的答案應該被選爲正確的答案! – mila