Angular Directive:如何检查是否定义了范围函数?

时间:2014-05-15 18:48:18

标签: angularjs-directive

我知道你可以使用像x这样的问号来选择属性:" =?"然后你可以通过检查x是未定义还是null来检查是否指定了它。

我如何为一个功能做类似的事情?通常情况下,如果未指定函数,我想隐藏控件。我必须为此目的定义另一个属性来解决此问题。我想知道是否有办法保存这个额外的财产。

1 个答案:

答案 0 :(得分:2)

我在here找到了这个问题的答案。以下是有人感兴趣的回顾:

指令:

scope: {
    callback: '&'
},
link: function(scope, elem, attrs) {    
  scope.hasCallback = function() {
    return angular.isDefined(attrs.callback);
  }
}

在html中:

<a href="" ng-show="hasCallback()" ng-click="callback()">Call me back</a>

我非常喜欢它,因为它为我节省了额外的参数。