【问题标题】:How to check if output binding is given?如何检查是否给出了输出绑定?
【发布时间】:2017-03-08 13:22:00
【问题描述】:

如何检查是否给出了输出绑定?

示例代码:

angular.module('tester', []);
angular.module('tester').component('test', {
    template: '<h3></h3>',
    bindings: {
      callback : '&'
    },
    controller: function() {
       // How to check if callback binding is given?
       // typeof this.callback === 'function' returns true
       // angular.isFunction(this.callback) also returns true 
    }
}); 

【问题讨论】:

标签: angularjs angularjs-components


【解决方案1】:

如果您想检查是否提供了绑定,请执行以下操作:

   if(this.callback)
      return true
    else 
      return false

如果绑定存在,this.callback 的值将在组件中可用,否则不会存在。

【讨论】:

  • 不工作,因为绑定总是一个函数。
【解决方案2】:

如果您将绑定更改为可选,那么如果未提供,它将是未定义的,您可以使用您已经提到的方法检查它是否已提供。

bindings: {
  callback : '&?'
},

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-05
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    • 2010-11-13
    • 2020-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多