v-if让jquery时钟选择器停止工作?

时间:2016-08-23 08:02:54

标签: javascript vue.js

这是我的原始div,其中clockpicker库正常工作。

<div class="input-group clockpicker">
    <input type="text" class="form-control" value="18:00">
        <span class="input-group-addon">
            <span class="glyphicon glyphicon-time"></span>
        </span>
</div>

因为我把v-if放在div属性中这样:

<div class="input-group clockpicker"  v-if="overtimeType==3">

时钟选择器不再从输入字段弹出。控制台显示没有错误。知道为什么吗?

PS:v-show工作正常。

1 个答案:

答案 0 :(得分:0)

v-if评估为false时,会从dom中移除元素,因此可能会出现以下两种情况之一:

  • v-if在执行$('.clockpicker').clockpicker()时删除了带有clockpicker类的div,因此找不到在
  • 上调用.clockpicker()的元素
  • v-if.clockpicker()装饰后删除元素,而clockpicker库会监视其根元素,以便将dom删除事件分离出来

使用v-show正常工作,因为此指令切换css显示属性,而不是实际从dom中删除元素。