加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – Angular 1.5组件属性存在

发布时间:2020-12-17 08:21:51 所属栏目:安全 来源:网络整理
导读:我正在为角度1.5风格的组件重构一些角度指令. 我的一些指令具有依赖于某个属性存在的行为,因此没有该属性具有特定的布尔值.使用我的指令,我使用链接功能完成此操作: link: function(scope,elem,attrs,controller){ controller.sortable = attrs.hasOwnPrope
我正在为角度1.5风格的组件重构一些角度指令.

我的一些指令具有依赖于某个属性存在的行为,因此没有该属性具有特定的布尔值.使用我的指令,我使用链接功能完成此操作:

link: function(scope,elem,attrs,controller){
      controller.sortable = attrs.hasOwnProperty('sortable');
    },

我如何使用角度1.5样式的组件语法?

我能做的一件事就是添加一个绑定,但是我需要指定一个布尔值.我想按原样保留我的模板.

使用绑定而不是直接引用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,如果设置如示例所示.如果您的sortable属性当前在模板中包含一个字符串,那么'@'绑定也可能是一个合适的选择.在这种情况下,vm.sortable的值将是一个字符串(如果在组件标记上未定义属性,则为undefined). 检查仅仅存在可排序属性的方式如下:

bindings: { sortable: '@' }

// within the controller:
var isSortable = vm.sortable !== undefined;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读