Vue笔记

作者: 冷的像风 | 来源:发表于2017-07-20 15:58 被阅读0次

    父子组件之间通信

    父=>子:

    子组件要显式地用 props选项声明它期待获得的数据:

    Vue.component('child', {
    // 声明 props
    props: ['message'],
    // 就像 data 一样,prop 可以用在模板内
    // 同样也可以在 vm 实例中像“this.message”这样使用
    template: '<span>{{ message }}</span>'
    })
    

    然后我们可以这样向它传入一个普通字符串:

    <child message="hello!"></child>
    

    子=>父

    使用自定义事件
    父组件可以在使用子组件的地方直接用 v-on 来监听子组件触发的事件
    不能用 $on 侦听子组件抛出的事件,而必须在模板里直接用 v-on 绑定,就像以下的例子

    <div id="counter-event-example">
      <p>{{ total }}</p>
      <button-counter v-on:increment="incrementTotal"></button-counter>
      <button-counter v-on:increment="incrementTotal"></button-counter>
    </div>
    
    Vue.component('button-counter', {
      template: '<button v-on:click="increment">{{ counter }}</button>',
      data: function () {
        return {
          counter: 0
        }
      },
      methods: {
        increment: function () {
          this.counter += 1
          this.$emit('increment')
        }
      },
    })
    new Vue({
      el: '#counter-event-example',
      data: {
        total: 0
      },
      methods: {
        incrementTotal: function () {
          this.total += 1
        }
      }
    })
    

    更改vuex中state

    在store中

    mutations:{
      xxx(state){}
    }
    

    组件中
    this.$store.commit(xxx,payload)

    相关文章

      网友评论

          本文标题:Vue笔记

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