【发布时间】:2015-02-18 21:24:30
【问题描述】:
我有一个列表指令,它基本上从服务中获取所有项目并将它们显示在表格中。当我点击表格中的一个项目时,它会打开一个与项目类型相关的表单。
一切都很好,但是现在,我有一个该列表的实例,我需要在单击某个项目时覆盖该事件。所以我在指令中添加了一个属性:
<list factory-name="Workers"
on-item-click="$state.go('worker.workerDetails', {workerId: item._id})">
</list>
所以当我到达当我点击一个项目时被调用的函数时,我可以做这样的事情:
<tr ng-repeat="item in items" ng-click="edit(item)></tr>
$scope.edit = function(item) {
if ($attrs.onItemClick) {
setTimeout(function(){ $scope.$apply($attrs.onItemClick); });
} else {
edit(item);
}
};
问题是我无法隔离作用域,因为一些嵌套指令需要访问它,我不想修改我的列表指令有一堆异常,只有一个覆盖函数(onItemClick);
现在它不起作用,状态参数没有被分配。
非常感谢
【问题讨论】:
标签: angularjs angularjs-directive angular-ui-router