这是自解释代码,请查看html部分中的注释:
HTML:
<div ng-app='myApp'>
<div ng-controller="MCtrl">
<!-- this should be "test:", OK -->
<test></test>
<br>
<!-- this should be "test: Hello world!", OK -->
<test custom-target="helloModel"></test>
<br>
<!-- this should be "test: Hello !", FAIL! -->
<test custom-target="emptyModel"></test>
<br>
</diV>
</div>
JS:
var myApp = angular.module('myApp',[]);
function MCtrl($scope) {
$scope.helloModel = 'world';
$scope.emptyModel = '';
}
myApp.directive('test', function() {
return {
restrict: 'E',
scope: {
customTarget: '='
},
template: '<span>test: <b ng-show="customTarget">Hello, {{customTarget}}!</b></span>'
};
});
简而言之,我需要属性custom-target
是可选的,并且能够检测它何时丢失。
UPD:
目前找到了这个解决方案:
也许有更好的一个。
答案 0 :(得分:1)
b
标记根本没有显示,因为你已经有了ngShow,当customTarget是空字符串时,它的结果为false。