在html指令中传递ng-repeat变量

时间:2014-01-23 04:52:14

标签: angularjs angularjs-directive angularjs-ng-repeat

我的$ scope变量是:

$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>

知道我该怎么办?我想继续改变范围变量,我是故意这样做的。

假设我在指令中设置了范围,并且图表指令都很好。

2 个答案:

答案 0 :(得分:3)

您可以连接附加字符串your_model + 'additional string'

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

在你的指令中,你将通过

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

Demo

答案 1 :(得分: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>