微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我需要通过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
}

编辑:简化有一个错误.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐