Vue学习笔记2-6 全局组件与局部组件、子组件数据传递

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/soulwyb/article/details/85321665

1.组件化:

<body>
  <div id="app">
    <input type="text" v-model="inputvalue">
    <button v-on:click="handleBtnClick">提交</button>
    <ul>
      <todo-item v-for="item in List"></todo-item>
    </ul>
  </div>
  <script>

    Vue.component("TodoItem", {
      template: "<li>fefefefe<li>"
    })

  </script>

2.子组件数据传递:

  <div id="app">
    <input type="text" v-model="inputvalue">
    <button v-on:click="handleBtnClick">提交</button>
    <ul>
      <todo-item v-bind:content="item"
                 v-for="item in List">
      </todo-item>
    </ul>
  </div>
  <script>

    Vue.component("TodoItem", {
      props: ['content'],
      template: "<li>{{content}}<li>"
    })
  </script>

其中此部分的组件称为全局组件:


    Vue.component("TodoItem", {
      props: ['content'],
      template: "<li>{{content}}<li>"
    })

局部组件写法:

  <div id="app">
    <input type="text" v-model="inputvalue">
    <button v-on:click="handleBtnClick">提交</button>
    <ul>
      <todo-item v-bind:content="item"
                 v-for="item in List">
      </todo-item>
    </ul>
  </div>
  <script>

    var TodoItem = {
      props: ['content'],
      template: "<li>{{content}}<li>"
    }

    var app = new Vue({
      el: '#app',
      data: {
        List: [],
        inputvalue: ''
      },
      methods: {
        handleBtnClick: function() {
          this.List.push(this.inputvalue)
          this.inputvalue = ''
        }
      },
      components: {
        TodoItem: TodoItem
      }
    })
  </script>

现实的效果:

猜你喜欢

转载自blog.csdn.net/soulwyb/article/details/85321665