zoukankan      html  css  js  c++  java
  • vue.js学习笔记

    1、

    http://vuejs.org/2015/10/28/why-no-template-url/

    Why Vue.js doesn't support templateURL

    2、报错 Cannot read property 'parentNode' of null

    把  track-by="$index" 删除就行了,但是如果删除这个了,原来的获取data的dom操作就实现了

    3、通过props传值,如果子组件改变值了如果把一个值改成1,父组件再传值为0,子组件的值不变依然是1,需要双向绑定.

    prop 默认是单向绑定:当父组件的属性变化时,将传导给子组件,但是反过来不会。这是为了防止子组件无意修改了父组件的状态——这会让应用的数据流难以理解。不过,也可以使用 .sync 或 .once 绑定修饰符显式地强制双向或单次绑定.:show-economy-ota.sync="showEconomyOta"

    4、受 ES5 的限制,Vue.js 不能检测到对象属性的添加或删除。因为 Vue.js 在初始化实例时将属性转为 getter/setter,所以属性必须在 data 对象上才能让 Vue.js 转换它,才能让它是响应的。定义一个组件,component,只能通过props来传值,但是里面的值可以不用再外面定义,直接进行新增。跟ui相关的需要外面props定义,跟ui无关的,里面直接使用就可以了。

    5、如果外围使用kissy等,通过事件触发到vue里面,事件传递的对象,含有this,会造成vue的this和kissy的this混乱。如果简单的话,还是使用方直接法调用

    6、更新数据的问题,在这里栽了很久

    因为 JavaScript 的限制,Vue.js 不能检测到下面数组变化:

    1. 直接用索引设置元素,如 vm.items[0] = {}
    2. 修改数据的长度,如 vm.items.length = 0

    为了解决问题 (1),Vue.js 扩展了观察数组,为它添加了一个 $set() 方法:

    // 与 `example1.items[0] = ...` 相同,但是能触发视图更新
    example1.items.$set(0, { childMsg: 'Changed!'})

    至于问题 (2),只需用一个空数组替换 items

    除了 $set(), Vue.js 也为观察数组添加了 $remove() 方法,用于从目标数组中查找并删除元素,在内部它调用 splice() 。因此,不必这样:

    var index = this.items.indexOf(item)
    if (index !== -1) {
    this.items.splice(index, 1)
    }

    只用这样:

    this.items.$remove(item)
     

     

  • 相关阅读:
    工厂方法和抽象工厂
    waterMarkTextBox
    button hot key 热键
    wpf 双击行。。获得行信息
    update comboBox
    WPF标准控件模板查看程序(文件里面)
    Sp EF输出 临时表
    tree view
    Ubuntu 常用命令
    ESP8266 开发记录
  • 原文地址:https://www.cnblogs.com/danghuijian/p/4993862.html
Copyright © 2011-2022 走看看