Vue在绑定tbody的时候,可能会出现绑定错误的问题。使用tbody时,除了trtd之外嵌套在其中的任何标签,在页面渲染时都会在表格外生成(根据显示结果猜测),除非包含在tr下的td中,例如:代码写成likethis:但是实际的页面显示div会在表格外生成查看页面的源代码是这样的,但是用trtd包裹起来就没有这个问题了。这个问题和tbody本身的特性有关,后果好像并不严重,只是显示错了位置。但是,在某些情况下,它可能会引起很多误解或错误。页面2.使用Vue添加新模块3.之前没有用Vue开发过页面4.页面逻辑复杂,元素多,无法进行大规模改动。一开始在页面中添加vue的时候,没有发现任何问题。代码没有报错,axaj正常返回,控制台输出采集正常,也可以获取vue中绑定对象中的值。唯一的问题是Vue在页面上没有显示正确的值,并且(Vue代码在Vue代码完成之前不会显示任何东西)开始有问题其实是最后一部分。循环Vue对象时,没有正确取出对象值,里面用到的变量用原来的形式表示,比如{{name}},和没有创建Vue时是一样的。-for循环中的{{name}}变量(注意是在中间),如果找不到for循环的对象,而vue添加正确,则不会显示!!如果vue没有正确添加,即使在for标签{{name}}中也会以原来的形式显示!!(可以认为,如果显示了,就说明vue绑定或者生成失败了)但是这次的问题比这个问题还要诡异!!!当你的Vue绑定的id是tbody的id时!!(之前说过我不会做大规模改动,所以我不会把vue绑定到整个页面的最外面)你的vue会绑定到tbody,而你的tbody如果代码不在trtd中(我看不懂上面的),它会跑到table外面,也是tbody外面,也就是你绑定vue的地方外面,所以你的v-for其实写在没有vue的地方就忽略了,其中的{{name}}也会原样显示。这样的话,当你看代码发现一切正确,但是vue获取不到,你难免会想因为是其他一些因素造成的比如:代码冲突,框架冲突等。只有在页面查看html源码的时候,才会发现你的v-for跑到了tbody之外,所以这种情况下的v-forcode其实地方没有vue绑定,所以不可能有什么效果,而且往往这个绑定错误会被很多其他问题掩盖,导致找不到这个问题,最终可能导致这个函数的写法不一样,或者引起各种问题而且这个页面很复杂1.页面极其复杂2.有很多旧代码3.你修改的页面是弹窗中的页面页面中的窗口4.旧代码使用的框架与新代码完全无关5.您不会使用旧框架。例如:红色圆圈是添加的页面。这个页面当时是完全陌生的,连碰都没碰过!!不过好在这个页面只是一个后台页面,并没有太多花哨的样式代码,而且一开始也是找不到绑定问题才找源码。临时排查错位问题,没想到会导致绑定错误。最后发现是因为tbody中的div是在tbody外生成的,而vue是绑定在tbody上的,div中的v-for循环导致div中使用vue的地方显示为源代码或者找不到对象,但是数据和循环都没有显示,发现tbody中除了trtd,里面的元素都会生成到table中然后写个例子记录下这个问题,以及然后发现这个问题,就是因为这个特性...嗯,先这样吧,这个博客就是为了记录偶然和巧合发生的问题,最后加上一个生成的出门在外的效果就好多了。。...玩了半天脑子有点乱,如果有用或者有意义,请大家顶一下评论~~~另外,我不想吐槽这个博客的排版,br直接换行改成空行了。。。颜色加不上。。。原来放在一起的都加了空行。。。。
