【发布时间】:2018-07-29 18:59:04
【问题描述】:
我正在改造我的一个旧应用程序,但我在 vue 实例中遇到了 dom 操作和基本选择问题。
基本上,我在通过 ajax 加载的数据库中有信息。 数据库中的每条记录都有 2 个部分。标题选项卡(标题、时间、日期等)和记录正文(注释、想法等)
加载后,标题会正常显示给用户,但如果他们想查看该注释包含的内容,则必须单击标题才能显示底部。
考虑以下 html:
<vuejs for loop>
<div v-bind:id='item._id' class="tabW" v-on:click="blueTabClick" >
<div class="blueTabMainColor">
<!-- header stuff here -->
</div>
<div class="notesOpenedW">
<!-- interior informaton here, HIDDEN BY CSS -->
</div>
</div>
<vuejs for loop ender>
这个 HTML 本质上是在一个 Vue for/loop 指令中,并根据我在 DB 中的信息量根据需要生成许多“tabs(tabW)”
我希望用户能够点击他们想要的信息的任何选项卡(tabW),并在下方显示注释(notesOpenedW)。
我剥离了我的整个应用程序和 js,并试图使其尽可能简单地进行测试,即使使用以下内容,我仍然无法得到任何东西。 这是我的 JS(JQ):
$(document).ready(function(evt){
$(".blueTabMainColor").click(function(){
$(this).next(".notesOpenedW").fadeToggle();
});
});
有了这个基本代码,当我把它放在一个 Vue 实例中时,通过:
methods: {
blueTabClick: function (evt) {
evt.preventDefault();
$(".blueTabMainColor").click(function(){
//alert("you clicked me");
$(this).next(".notesOpenedW").fadeToggle();
});
}
}
它不起作用,但是如果我将它从 Vue 实例中取出,它就可以正常工作。
我怎样才能让它工作?还是我走错路了?
【问题讨论】:
-
您需要利用 Vue 中的
mounted生命周期事件。
标签: javascript jquery vue.js