2016-10-26 2 views
1

Wie überprüft man, ob die Ausgabe verbindlich ist?Wie überprüft man, ob die Ausgabe verbindlich ist?

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

Antwort

0

Wenn Sie überprüfen wollen, ob die Bindung nur tun gegeben:

if(this.callback) 
     return true 
    else 
     return false 

Der Wert des this.callback wird in der Komponente zur Verfügung, wenn die Bindung ist sonst wird es nicht sein.

+0

Nicht funktioniert, weil die Bindung immer eine Funktion ist. – tiktak

0

Wenn Sie Ihre Bindung als optional ändern, ist sie nicht definiert, wenn sie nicht mitgeliefert wird, und Sie können überprüfen, ob sie mit den bereits erwähnten Methoden angegeben wurde.

bindings: { 
    callback : '&?' 
}, 
Verwandte Themen