Bindings On Directive With Isolate Scope Not In Scope Sometimes
So I have a directive with isolate scope and a controllerAs pattern. var directive = { restrict: 'E', scope: { something: '=' }, tem
Solution 1:
Use the $onInit
Life-Cycle Hook to guarantee the timing of bindings:
function directiveController(someService) {
var vm = this;
̶i̶n̶i̶t̶(̶)̶
this.$onInit = init;
function init() {
return someService.getProducts()
.then(productsReady);
function productsReady(data) {
vm.products = data;
return vm.products;
}
}
From the Docs:
Initialization logic that relies on bindings being present should be put in the controller's
$onInit()
method, which is guaranteed to always be called after the bindings have been assigned.
.component('myComponent', { bindings: {value: '<'}, controller: function() { this.$onInit = function() { // `this.value` will always be initialized,// regardless of the value of `preAssignBindingsEnabled`.this.doubleValue = this.value * 2; }; } })
Post a Comment for "Bindings On Directive With Isolate Scope Not In Scope Sometimes"