bootstrap的popover第二次动态元素绑定问题

页面html是用vue生成的, 而popover内容是由 conetnt属性 通过调用vue方法返回的html
第一次初始化是正确的, 比如popover内有个按钮, 显示的是开。
点了按钮后通过ajax修改数据 , 成功时把开改为关。

但由于数据是由vue生成的。 我在update 里把所有的popover 销毁了 ,
再初始化, 但显示的还是第一次的开, 但conetnt内容里的按钮是关的。

怎么解决这个缓存问题?

————————————————————————————————————————
PS:就算第二次把content的按钮改为一句xxxx , popover销毁后同重新初始化,界面出来的还是原来的按钮。

PPS: 最新测试: 把content 属性全部remove掉, 再销毁, 再初始化还是原来的。

阅读 5.8k
3 个回答

在调用ajax返回里先把所有的popover都销毁, 再把vm.$data里用到的数据都先设置为null , 然后再用返回的数据填充回data里。
最后在updated里

$(".popover").each(function () {
                var content = $(this).attr('data-content');
                $(this).popover({html:true,container:"body",content:content});
})

手工把content一个个初始化就好了, 一次性$(".popover").popover('destroy').popover({html:true,container:"body"});是没效果的

需要保持的数据放在独立的地方,content 属性在初始化时读入。

新手上路,请多包涵

请问您最后是怎么解决的呢? 我也遇到这个问题,一直改变不了初始化的值

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏