2014-01-23 37 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