我想在我的指令中使用属性的存在(或不存在)作为布尔值。例如:
<foo bar baz></foo>
我的控制器中有以下内容:
controller: function($scope, $element) {
if $scope.bar === null {
alert("Bar Present");
}
if $scope.baz === null {
alert("Baz Present");
}
}
不幸的是,上面的bar和baz在$ scope上根本没有设置。我希望在那里看到一个null或一个明确的'undefined'。但$ scope只是没有bar或baz属性。
答案 0 :(得分:1)
Here is a working code sample for what I think you want
var app = angular.module('app', []);
app.directive('myDirective', [function(){
return {
restrict: 'E',
template: '<div>directive test</div>',
link: function(scope, el, attrs){
if(attrs.bar !== undefined) { el[0].innerText = 'bar'; }
if(attrs.baz !== undefined) { el[0].innerText = el[0].innerText + ' baz'; }
}
};
}]);
<body>
<my-directive bar baz></my-directive>