我有一个AngularJS 1.5组件,它将可选的回调函数作为属性绑定。我想确定是否包含该属性。
<silly-button></silly-button> <!-- Don't Click Me! -->
<silly-button on-silly-click="handleClick()"></silly-button> <!-- Click Me! -->
鉴于下面的简单示例,我如何实现onClickIsNotProvided()
函数?
angular
.module('example')
.component('sillyButton')
.bindings({
onSillyClick: '&'
})
.controller(['$scope', ($scope) => {
$scope.onClickIsNotProvided = () => {
// this.onSillyClick is always defined, so return value is always false :(
return !this.onSillyClick;
};
}])
.template(`
<button ng-click="$ctrl.onSillyClick()">
<span ng-if="onClickIsNotProvided()">Don't</span>
Click Me!
</button>
`);
答案 0 :(得分:1)
您可以使用与&?
相同的=?
,@?
来标记该参数是否可选。
可以在here中找到一些参考资料。虽然它没有具体谈论可选功能绑定。
答案 1 :(得分:0)
我认为这是你必须添加的功能:
{{1}}
这将与控制器的其他角度进入相同的位置。