1

我有一个 navBarItems 的集合,目前正在像这样展示它们:

 <a data-role="button" data-iconpos="notext" ng-show="navBarItems['search'].show" ng-click="navBarItems['search'].click()" data-icon="{{navBarItems['search'].icon}}">{{navBarItems['search'].title}}</a>

我正在重复这段代码,只是改变了“类型”,所以我想用模板创建一个指令并像这样调用它:

<navBarItem type="search"></navBarItem>

我已经尝试将属性传递给一个独立的范围,但是一旦在指令中就无法访问 navBarItems。

4

1 回答 1

2

正如上面评论中提到的,由于正在使用/创建隔离范围,因此隔离范围所需的任何其他数据都需要通过同一元素上的附加属性传递给指令。在这种情况下navBarItems需要指定:

<navBarItem type="search" items="navBarItems"></navBarItem>

由于navBarItemsis 是一个对象(不是字符串),因此=应该在隔离范围定义中使用语法:

scope: { items:'=',  ... },
于 2013-04-22T14:03:31.130 回答