zoukankan      html  css  js  c++  java
  • vuejs组件

    <div id='root'>
      <ul>
        <todo-item></todo-item>
      </ul>
    </div>
    <script>
      Vue.component('todo-item',{
        template:'<li>item</li>'
      })
    </script>
    全局组件:上面这种组件叫做全局组件,这种组件定义好了之后,直接在任何一个地方都可以使用这个组件



    <div id='root'>
      <ul>
        <todo-item></todo-item>
      </ul>
    </div>
    <script>
      var todoItem = {
        template:'<li>item</li>'
      }
      new Vue({
        el:'#root',
        components:{
          'todo-item':todoItem
        }
      })
    </script>
    局部组件,上面这种叫做局部组件,需要通过components进行注册
    每一个组件都是一个实例,一个vue是由千千万万个实例,也就是组件组成



    父组件和子组件的通信需要怎么做?
    需要发布订阅模式来做这个事情,子组件注册一个事件,父组件进行监听
    <div id='root'>
      <input v-model='inputValue'/>
      <button @click='handleSubmit'>提交</button>
      <ul>
        <todo-item
          v-for='(item,index) of list'
          :key='index'
          :content='item'
          :index='index'
          @delete='handleDelete'
        >
        </todo-item>
      </ul>
    </div>
    <script>
      Vue.component('todo-item',{
        props:['content','index'],
        template:'<li @click="handleClick">{{content}}</li>',
        methods:{
          handleClick:function(index){
            this.$emit('delete',index)
          }
        }
      })
     
      new Vue({
        el:'#root',
        data:{
          inputValue:'',
          list:[]
        },
        methods:{
          handleSubmit:function(){
            console.log(this.inputValue);
            this.list.push(this.inputValue);
            this.inputValue = '';
          },
          handleDelete:function(index){
            this.list.splice(index,1)
          }
        }
      })
    </script>
  • 相关阅读:
    标准输入/输出通道
    不要在纠结负数的表示了
    Coursera公开课-Machine_learing:编程作业7
    Heap堆
    广义表的实现
    二叉树的实现
    模拟实现strstr和strrstr
    栈和队列常考面试题(二)
    栈和队列常考面试题(一)
    vector迭代器失效的几种情况
  • 原文地址:https://www.cnblogs.com/wzndkj/p/9588707.html
Copyright © 2011-2022 走看看