列表中项的动态单击函数指令.快到了
Directive for a dynamic click function for items in a list... almost there
我有一个列表,根据某些情况,当我单击一个项目时,需要调用不同的函数。
我发出了呈现列表模板的指令。正是在该指令上,我想指定单击项目时调用的函数。
controller..
$scope.dataArray = dataFromService;
$scope.showDetailsInModal = function(item) {
// item is always undefined here :(
}
<div my-list="dataArray" on-item-click="showDetailsInModal()"></div>
directive...
scope: {
data: '=myList',
onItemClick: '&',
},
templateUrl: template.html
模板.html:
<ul>
<li ng-repeat="item in data"
ng-click="onItemClick(item)">
</li>
</ul>
该函数被调用(是),但是传入参数的项在该函数中使用时是未定义的。我不知道为什么
感谢您的帮助,一直!
要将参数从指令传递给回调函数,请尝试执行以下更改。
模板.html:
<ul>
<li ng-repeat="item in data"
ng-click="onItemClick({argItem:item})">
</li>
</ul>
您的主网页
<div my-list="dataArray" on-item-click="showDetailsInModal(argItem)"></div>
在这里,我们需要以对象的形式传递参数,并且该对象的键将与模板中分配的函数参数进行映射。
在 plunker 中检查这个工作示例,显示如何将参数传递给指令中的函数。
希望这会有用。
相关文章:
- 从html创建一个指令,该指令按类名应用函数
- AngularJS指令单元测试中未定义的函数
- AngularJS指令部分应用的函数don'不起作用
- 角度指令's链接函数未被调用
- 从子指令调用指令函数不起作用
- 参数未在指令函数中传递
- 如何从 JavaScript 调用指令函数
- Angular.js调用控制器中的指令函数
- 将事件发送到范围中的角度指令函数
- 从父指令角度调用指令函数
- 在具有不同控制器的视图中使用ng-click和指令函数
- 通过参数将 mongo 文档 ID 传递给角度指令函数会抛出解析错误
- Angular指令——函数执行的正确顺序
- 又一个没有传递参数的Angular指令函数
- 如何使子链接指令函数在父控制器之前运行
- AngularJS中指令函数的执行顺序
- 在没有应用指令函数的指令内部重复
- 使用$scope.$parent.$$childHead从控制器访问指令函数.AngularJS中的functionNa
- angularjs设计.从另一个控制器调用指令函数
- 调用angularjs指令函数的范围问题