开发中遇到的一些问题汇总

2017-05-09  本文已影响7人  艾石溪

1: vue中,想完成一个超过20个字,显示...,点击之后再全部展开的功能。因为是列表,每一个具有不同的index,所以选用的是使用数组来实现其显示还是隐藏,但是当改变具体的某个数组的状态时,发现并没有触发上面的变化。
原因:对vue如何进行渲染等,对vue内部的实现一点都不了解。归结起来就是vue没有监测到数据的变化。
Vue.js 最显著的一个功能是响应系统 —— 模型只是普通对象,修改它则更新视图。
一个普通对象传给 Vue 实例作为它的 data 选项,Vue.js 将遍历它的属性,用 Object.defineProperty 将它们转为 getter/setter。
模板中每个指令/数据绑定都有一个对应的 watcher 对象,在计算过程中它把属性记录为依赖。之后当依赖的 setter 被调用时,会触发 watcher 重新计算 ,也就会导致它的关联指令更新 DOM。
Vue.js 不能检测到对象属性的添加或删除。因为 Vue.js 在初始化实例时将属性转为 getter/setter,所以属性必须在 data 对象上才能让 Vue.js 转换它,才能让它是响应的。
不过,有办法在实例创建之后添加属性并且让它是响应的。
对于 Vue 实例,可以使用 $set(key, value) 实例方法:

  vm.$set('b', 2)
  // `vm.b` 和 `data.b` 现在是响应的

对于vue是如何渲染的,如何工作的,之后需要努力的补一下。

2: 还有对于vue中,v-if的使用也需要好好的看一下,因为在使用v-if时,对于其它的加载也貌似有问题,比如在v-if的判断中,不能正常触发日期的组件,不知道为什么。使用v-show就没有问题。
3: 在使用上传图片的功能时,出现了总是服务器内部错误,因为使用nginx服务器没有开启权限,所以nginx并没有向外转发。

上一篇 下一篇

猜你喜欢

热点阅读