In AngularJS Vorrei testare un valore booleano all'interno di una direttiva, ma il valore viene restituito come una stringa.In AngularJS, perché un parametro booleano viene valutato come una stringa?
Ecco il codice:
angular.module('TestApp', ['TestApp.services', 'TestApp.controllers', 'TestApp.directives']);
angular.module('TestApp.services', ['ngResource']).
factory('Obj', function($resource){
return $resource('datas.json');
});
angular.module('TestApp.controllers', []).
controller('TestCtrl', ['$scope', 'Obj', function($scope, Obj) {
$scope.objs = Obj.query();
}]);
angular.module('TestApp.directives', []).
directive('requiredStatus', function() {
return function(scope, elm, attrs) {
attrs.$observe('v', function(av) {
if (attrs.completed) {
scope.val= true;
} else {
scope.val= false;
}
scope.type = typeof attrs.completed;
});
};
});
http://plnkr.co/edit/DvIvySFRCYaz4SddEvJk
Cosa devo fare per avere un typeof "booleano" all'interno della direttiva?
valori degli attributi interpolati sono sono sempre archi vedi questa risposta http://stackoverflow.com/a/12372494/527968 –