我有一个AngularJS 1.5组件,它将一个可选的回调函数作为属性绑定。我想确定是否包含该属性。在AngularJS中,如何确定属性是否提供给组件?
<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>
`);
只需使用与标准https://www.w3schools.com/jsref/event_onclick.asp不同的属性名称? – Ioan
我已将属性名称更改为“愚蠢单击”,以避免与标准属性混淆。 –
也许是这样的? https://stackoverflow.com/a/33935950/445600 – starcorn