根据加载的控制器(页面),是否可以在ng-click中使用不同的功能?
<a ng-click="removeEvent(event)" class="top_menu_link"> REMOVE</a>
假设我想要相同的按钮来执行删除操作,但在不同的模型上。说事件,人等。所以这个按钮在ng-view之外。
所以我的猜测是调用一个像removeItem('person')
这样的参数的函数,然后有一组if elses。想知道是否有不同的解决方案。
答案 0 :(得分:0)
您可以这样做:
<a ng-click="fn.removeEvent(event)" class="top_menu_link"> REMOVE</a>
然后,在此锚点所在的控制器中,定义fn
:
$scope.fn = {};
在各个页面(/ models)中,设置removeEvent
:
$scope.fn.removeEvent = function(event){
// Model-specific stuff
};
因为您在已在父作用域中定义的对象上设置了该函数,所以您可以简单地覆盖该函数,而父作用域中的锚仍然具有对该函数的引用。 / p>
P.S:如果功能未设置,您可能想隐藏锚点:
<a ng-if="fn.removeEvent" ng-click="fn.removeEvent(event)" class="top_menu_link"> REMOVE</a>