动态ng-init变量 - Angularjs

时间:2013-08-03 09:53:45

标签: javascript angularjs

.coffee

@FooCtrl = ->
  $scope.products = Product.query()

.html

<div ng-repeat='product in products'>
  <div ng-init='images_{{product.id}} = product.images' >
    <div class='slideshow' ng-repeat='pic in images_{{product.id}}'>
       <img ng-src='{{pic.url}}' />
    </div>
</div>

我想这样做。但是ng-init='images_{{product.id}}'正在抛出一些例外。对此有任何补救或替代解决方案吗?

1 个答案:

答案 0 :(得分:17)

您的工作方式可能不起作用,因为ng-init采用标准的Javascript表达式,因此{{}}无效。

因为javascript对象只是一个键值集合。您需要使用[]表示法访问动态属性,而不是.表示法。

所以这个

<div ng-init='images_{{product.id}} = product.images >

变为

<div ng-init='this["images_"+this.product.id] = product.images'>

请参阅我创建的this小提琴