2016-10-26 3 views
1

出力バインディングが指定されているかどうかを確認する方法は?出力バインディングが指定されているかどうかを確認する方法は?

Examplecode:

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 
    } 
}); 

答えて

0

あなたはバインディングが指定されているかどうかを確認したい場合は、単に実行します。

if(this.callback) 
     return true 
    else 
     return false 

結合がある場合this.callbackの値がコンポーネントで利用できるようになりますそうでなければ、それはあり得ません。

+0

バインディングは常に関数なので、機能しません。 – tiktak

0

バインドをオプションに変更すると、指定されていない場合は未定義となり、すでに述べた方法で指定されたかどうかを確認できます。

bindings: { 
    callback : '&?' 
}, 
関連する問題