【发布时间】:2016-04-04 15:04:26
【问题描述】:
我写了一个指令list,它显示了一个项目列表。
然后我想在另一个指令wrapped-list 中重用这个组件,它会修改列表(添加一些项目,更改一些值),并在它周围添加一些装饰性的东西。
list 需要一个项目列表作为参数,然后,wrapped-list 需要相同的列表,以及更改列表值和内容的方法。
当我尝试从wrapped-list 调用方法以将数据传递给list 时,会出现此问题。
见小提琴here。
我尝试了很多疯狂的组合,但都无法成功。
items="listFactory({items:items})"items="listFactory(items)"items="{{listFactory(items)}}"...
到目前为止没有运气。 有什么想法吗?
注意:我可以让它与 items="$parent.listBuilder(items)" 一起工作,但我不想依赖父级的范围。
另外,我知道这会生成$digest() iteration reached error,这不是这个问题的一部分!
【问题讨论】:
-
您需要检查您的 camelCase,您的范围中有 listFactory,html 中有 listFactory。您的 html 应该是列表工厂。我刚刚在你的小提琴中运行它并且它有效。
-
jsfiddle.net/a5zsm4v5 这是小提琴
-
哇!谢谢!很多!!! :)
-
没问题,只要记住如果你在camelCase中定义了一个变量,那么camelCase的html版本需要读取camel-case。
标签: angularjs methods angularjs-directive parameter-passing directive