wangziweng7890
wangziweng7890
Codorval需要重写用ajax请求
解决方案:项目中和第三方库只能存在一个vue,第三方库打包时必须得排除掉vue。 webpack可加以下属性排除打包 externals = { vue: 'Vue' };
> 解决方案:项目中和第三方库只能存在一个vue,第三方库打包时必须得排除掉vue。 webpack可加以下属性排除打包 externals = { vue: 'Vue' }; 造成这个问题的原因如下: 1.table组件有一个store进行数据维护,store是一个vue实例,table组件的数据等信息都会记录到这个store中去,当store数据发生变化时驱动视图变化。 2.Vue的依赖收集收集的只能是watcher,计算属性,渲染函数,watch函数等都是watcher。当我们的watcher执行前,会先把自己指向Dep.target。然后store的属性被使用时,它getter函数就会被触发进行watcher收集,但是收集前会先判断Dep.target 是否存在,存在则把Dep.target放入依赖里。 3.所以项目中的Vue和store的Vue不是同一个时 ,就会存在table组件的watcher指向的Dep和store的getter函数进行判断的Dep不是同一个。进而导致store的数据变化了,但是table的计算watcher,渲染watcher不会被通知执行。因为根本就没有被收集。