动态函数调用ng-click

时间:2015-01-29 09:53:07

标签: javascript angularjs angularjs-ng-click

根据加载的控制器(页面),是否可以在ng-click中使用不同的功能?

<a ng-click="removeEvent(event)" class="top_menu_link"> REMOVE</a>

假设我想要相同的按钮来执行删除操作,但在不同的模型上。说事件,人等。所以这个按钮在ng-view之外。

所以我的猜测是调用一个像removeItem('person')这样的参数的函数,然后有一组if elses。想知道是否有不同的解决方案。

1 个答案:

答案 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>