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

通过angular2中的html元素获取模型

发布时间:2020-12-17 06:58:56 所属栏目:安全 来源:网络整理
导读:我需要通过angular2中的html元素访问模型.在我的例子中,我使用ng2-dragula执行拖放操作,它的服务只能访问被拖动的html元素.我需要更新元素的相应模型.这是 github的问题. 解决方法 您可以通过在订阅的参数提供的elementList中搜索元素的索引来获取项目的模型
我需要通过angular2中的html元素访问模型.在我的例子中,我使用ng2-dragula执行拖放操作,它的服务只能访问被拖动的html元素.我需要更新元素的相应模型.这是 github的问题.

解决方法

您可以通过在订阅的参数提供的elementList中搜索元素的索引来获取项目的模型.

dragulaService.drop.subscribe(e => this.onDrop(e.slice(1)));

看到?

更新:简化(感谢Dracco)

private onDrop(args) {

    let [e,el] = args; //element,elementList
    let i = el.children.indexOf(e),item = i+1? this.items[i] : null;

    console.log(item); //The item
}

this.items是存储传递给dragula的列表的变量. (例如:[dragulaModel] =“items”).

我希望有一个更简单的方法.告诉我你是否找到了!

旧方式:

private onDrop(args) {

    let [e,elementList
    let item;
    for(let i in el.children){
        if(el.children[i]==e){
            item = this.items[+i];
            break;                
        }
    }

    console.log(item); //The item
}

编辑:简化有一个错误.

(编辑:李大同)

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

    推荐文章
      热点阅读