VUE笔记

5.如果需要在H5页面打断点,需要用到Chrome://inspect (如果白屏,可能需要梯子才能看到待调试的页面)
6.开启webView调试的方法,开启之后,才能在Chrome里调试,
@Override
protected void onCreate(Bundle savedInstanceState) {
    //Enabling web debugging
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        if (0 != (getApplicationInfo().flags = ApplicationInfo.FLAG_DEBUGGABLE)) {
            WebView.setWebContentsDebuggingEnabled(true);
        }
    }
    super.onCreate(savedInstanceState);
}
7. chrome浏览器,不允许读取本地服务网页的cookie
8.Vue可以通过this.$set(this.obj,key,value)或者Vue.set(vm.obj,key ,value)来动态添加data对象的属性(响应式)

可以通过this.obj=Object.assign({),this.obj,{a:1,b:2}))
Vue不予许动态添加根级响应式属性,(不需要在data的根对象里直接添加属性),如果需要,必须事先声明为空值(data相当于rn里的state)

9. v-if vs v-show
v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。
v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。

相比之下,v-show 就简单得多——不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。

一般来说,v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。

10. computed 和 methods的区别
对于任何复杂逻辑,你都应当使用计算属性。
计算属性是基于它们的依赖进行缓存的。只在相关依赖发生改变时它们才会重新求值。这就意味着只要 message 还没有发生改变,多次访问 reversedMessage 计算属性会立即返回之前的计算结果,而不必再次执行函数。

如果你不希望有缓存,请用方法来替代。

11.数组变动的注意事项
由于 JavaScript 的限制,Vue 不能检测以下变动的数组:

当你利用索引直接设置一个项时,例如:vm.items[indexOfItem] = newValue
当你修改数组的长度时,例如:vm.items.length = newLength
举个例子:

var vm = new Vue({
  data: {
    items: ['a', 'b', 'c']
  }
})
vm.items[1] = 'x' // 不是响应性的
vm.items.length = 2 // 不是响应性的
为了解决第一类问题,以下两种方式都可以实现和 vm.items[indexOfItem] = newValue 相同的效果,同时也将触发状态更新:
// Vue.set
Vue.set(vm.items, indexOfItem, newValue)
// Array.prototype.splice
vm.items.splice(indexOfItem, 1, newValue)


为了解决第二类问题,你可以使用 splice:
vm.items.splice(newLength)

12. 对象更改检测注意事项

13.vm.el的作用  https://www.jb51.net/article/95878.htm

14. vue点击事件 https://blog.csdn.net/bk_yzw/article/details/78795182

15. 父组件模板的所有东西都会在父级作用域内编译;子组件模板的所有东西都会在子级作用域内编译。
16. vue 的el和$mount()在效果上没有任何区别,都是将实例化后的vue挂载到指定的dom元素中。

17. vue的导航守卫,beforeEach(to,from,next),beforeResolve(to,from,next) 方法中必须调用next(),afterEach(to,from)中不调用

你可能感兴趣的:(VUE)