All, attempting to use bindToController with Object.defineProperty so I can
provide a custom setter like this:
(function() {
angular.module('app.directives').directive('appIcon', appIcon);
function appIcon() {
return {
restrict: 'E',
template: '<span ng-class="vm.iconClass"></span>',
scope: {
type: '@'
},
controllerAs: 'vm',
bindToController: true,
controller: function() {
var _iconClass;
var _type;
Object.defineProperty(this, 'type', {
configurable: false,
enumerable: true,
get: function() {
return _type;
},
set: function(type) {
_type = type;
_iconClass = 'icon-' + _type;
}
});
Object.defineProperty(this, 'iconClass', {
configurable: false,
enumerable: true,
get: function() {
return _iconClass;
}
});
}
})();
Problem is that my setter never seems to get called. The getters are
called and work just fine. If I flip some logic to just have the iconClass
getter always compute the _iconClass value this directive works. I'm
looking to implement something more complicated with multiple properties in
play though so being able to hook into the setter would be ideal. Will
that not work with the way that bindToController is implemented? Thanks!
--m
--
You received this message because you are subscribed to the Google Groups
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.