假设我有一个带有可选属性my-button
的指令disabled
。人们可以使用这个指令,如:
<my-button>Button text</my-button>
或
<my-button disabled="variable">Button Text</my-button>
我应该观看获取disabled
属性吗?这些用法可能会以某种方式从一个过渡到另一个吗?
function ButtonDirective() {
var directive = {
link: link,
restrict: 'E',
scope: {
click: '&',
disabled: '=?',
},
template: '<a class="my-button" ' +
'data-ng-class="{\'my-button-disabled\': disabled}" ' +
'data-ng-click="disabled || click()" ng-transclude />',
transclude: true
};
function link(scope) {
if (typeof scope.disabled == 'undefined') scope.disabled = false;
}
return directive;
}
该指令创建一个样式为按钮的锚标记。它接受两个属性/参数:单击和禁用。后者是可选的。禁用时,点击事件应在单击时触发,否则单击事件应在单击时触发。
重申:我是否应该担心某人在事后添加,删除或修改已禁用的属性?如果是这样,我应该怎么做呢?