美文网首页
vue.js 待学习

vue.js 待学习

作者: Dourling | 来源:发表于2019-08-13 17:00 被阅读0次
    • watcher
    • keyv-for
    • v-on:click.native="" 绑定原生事件?
    • 过滤器
    • 数据更新检测
    • $event
    • 事件修饰符: .stop/.prevent/.capture/.self
    • 按键修饰符(别名)
    • v-model 具体原理
      v-bind动态绑定结合
      修饰符.lazy/.number/.trim

    组件

    • 全局注册
    // 注册
    Vue.component('my-component', {
      template: '<div>A custom component!</div>'
    })
    // 创建根实例
    new Vue({
      el: '#example'
    })
    
    • 局部注册
    var Child = {
     template: '<div>A custom component!</div>'
    }
    new Vue({
     // ...
     components: {
       // <my-component> 将只在父模板可用
       'my-component': Child
     }
    })
    
    • is属性的使用
      <ul><ol><table><select>限制了能被它包裹的元素
    <table>
      <tr is="my-row"></tr>
    </table>
    
    • 组件中,data必须为函数
    data: function () {
      return {
        counter: 0
      }
    }
    
    • 组件间传值
    1. props父传子
      子组件需要显式地用 props 选项 声明 “prop”:
    Vue.component('child', {
      // 声明 props
      props: ['message'],
      // 就像 data 一样,prop 可以用在模板内
      // 同样也可以在 vm 实例中像 “this.message” 这样使用
      template: '<span>{{ message }}</span>'
    })
    

    传入值为:

    <div>
      <input v-model="parentMsg">
      <br>
      <child v-bind:my-message="parentMsg"></child>
    </div>
    

    如果 prop 是一个对象或数组,在子组件内部改变它会影响父组件的状态。

    • props验证
      prop 验证失败了, Vue 将拒绝在子组件上设置此值,如果使用的是开发版本会抛出一条警告。
    Vue.component('example', {
      props: {
        // 基础类型检测 (`null` 意思是任何类型都可以)
        propA: Number,
        // 多种类型
        propB: [String, Number],
        // 必传且是字符串
        propC: {
          type: String,
          required: true
        },
        // 数字,有默认值
        propD: {
          type: Number,
          default: 100
        },
        // 数组/对象的默认值应当由一个工厂函数返回
        propE: {
          type: Object,
          default: function () {
            return { message: 'hello' }
          }
        },
        // 自定义验证函数
        propF: {
          validator: function (value) {
            return value > 10
          }
        }
      }
    })
    
    1. 自定义事件子传父
    2. 非父子组建通信

    相关文章

      网友评论

          本文标题:vue.js 待学习

          本文链接:https://www.haomeiwen.com/subject/wjlbjctx.html