我有三种商品类型(' A'' B'' C'),使用不同的控制器,当选择商品时我需要知道在什么控制器中调用什么功能
例如,假设一个类型为' A'已被选中,我们想要修改此项目,因此我们按下“编辑”按钮。按钮
<button type="button" class="btn btn-default" ng-controller="" ng-click="edit(item)" > <i class="fa fa-pencil"></i> </button>
但是如何设置正确的控制器(&#39; AController&#39;)?
我能想到的唯一方法是使用ng-show和ng-hide,如下所示:
<button ng-show="item.Type == 'A'" type="button" class="btn btn-default" ng-controller="AController" ng-click="edit(item)" > <i class="fa fa-pencil"></i> </button>
但是这将为每个crud选项提供三个按钮(每种类型一个)(我将能够创建新的,编辑,查看和删除项目),这相当于12个按钮。
有更好的方法吗?
答案 0 :(得分:-1)
如果项目(A,B和C)是对象。您可以在它们上定义方法并从视图中调用它们,这应该将您引导到它们所源自的正确控制器。
离。 在控制器中:
function AController() {
A = {prop1: val1, prop2: val2, ... editItem: editItem}
function editItem() { this == A }
}
在视图中:
ng-click="item.editItem()"