我在我工作的项目上使用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
?如果没有,什么可以帮助解决这个问题?主要目标是在树上单击特定节点时弹出一个模态。