在Vue和JQuery中使用$ ref

时间:2018-12-09 00:22:35

标签: javascript jquery vuejs2

我在我工作的项目上使用Vue和JQuery。我知道这不是最佳匹配,但是我别无选择(没有Vue库可以满足我的需求)。无论如何,我试图创建一个具有单击节点事件侦听器的组织结构图。我创建了以下方法:

clickNode: function($node, data) {
    $node.on('click', function() {
        this.node = data;
        $(".showsubtree").show();
    });
}

在单击节点时,它应该打开一个模式。当我单击该节点时,它只是向控制台显示以下消息:

jQuery.fn.init [prevObject: jQuery.fn.init(1)]

如果该库是用Vue编写的,则该方法应该是这样的:

clickNode: function(node, data) {
    node.addEventListener('click',() => {
        this.node = data;
        this.$refs.showsubtree.show();
    })
},

在模板部分,我使用:

<showsubtree ref="showsubtree" :ps-data="node" :closed="closeModal"></showsubtree>

请注意,我在第一段代码中将ref更改为class,因此$.(".showsubtree")可以正常工作。我认为该问题隐藏在$ref的使用中,因为这样做可以解决问题,但是当我切换到JQuery库时,它就无法解决问题。如果$ref确实是解决此问题的关键,那么我应该在JQuery中使用哪个关键字来替换$ref?如果没有,什么可以帮助解决这个问题?主要目标是在树上单击特定节点时弹出一个模态。

0 个答案:

没有答案