使用绑定而不是直接引用 DOM 属性:
angular.module('example').component('exampleComponent', {
bindings: {
sortable: '<'
},
controller: function() {
var vm = this;
var isSortable = vm.sortable;
},
templateUrl: 'your-template.html'
});
模板:
<example-component sortable="true"></example-component>
使用单向绑定(由“<”表示)控制器实例上的变量“sortable”的值(此处为视图模型命名为 vm)如果按照示例中所示设置,则将是布尔值 true。如果您的可排序属性当前在您的模板中包含一个字符串,那么“@”绑定也可能是一个合适的选择。在这种情况下, vm.sortable 的值也将是一个字符串(如果该属性未在组件标记上定义,则为 undefined)。
检查 sortable 属性是否存在的工作方式如下:
bindings: { sortable: '@' }
// within the controller:
var isSortable = vm.sortable !== undefined;