【Vue.js】 todolist组件拆分(八)

1、component全局组件

Vue.component('todo-item',{
            template:'<li>item</li>'
        })

2、局部组件

A、定义局部组件

var Todo-item={
            template:'<li>item</li>'
        })

B、局部组件需要到Vue中声明引用

component:{
  'todo-item'=Todo-item
}

3、外部向组件传参

A、外部定义:content="item",传参
B、组件中定义props:["content"]接收参数
C、在组件模板中参数化引用template:'<li>{{content}}</li>'

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue学习</title>
    <script src="./vue.js"></script>
</head>
<body>
    <div id="root">
        <div v-if="show">hello</div>
        <input v-model="inputValue"/>
        <button @click="handleClick">click</button>
        <ul>
            <todo-item v-for="(item, index) of list"
                       :key="index"
                       :content="item"
            >
            </todo-item>
        </ul>
    </div>
    <script>
        Vue.component('todo-item',{
            props:['content'],
            template:'<li>{{content}}</li>'
        })
        new Vue({
            el:"#root",
            data:{
                show:true,
                list:[]
            },
            methods:{
                handleClick:function () {
                    this.list.push(this.inputValue);
                    this.inputValue = "";
                }
            },
        })
    </script>
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 组件(Component)是Vue.js最核心的功能,也是整个架构设计最精彩的地方,当然也是最难掌握的。...
    六个周阅读 5,664评论 0 32
  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,095评论 0 29
  • 前言 您将在本文当中了解到,往网页中添加数据,从传统的dom操作过渡到数据层操作,实现同一个目标,两种不同的方式....
    itclanCoder阅读 26,013评论 1 12
  • 天地之道,人事之理----天刚地柔,男人要刚健,自强不息,进取不止;女人要阴柔,厚德载物,包容慈爱。 ...
    雨寒老师阅读 1,058评论 0 2
  • 很喜欢宫崎骏说过一句话:“不要轻易去依赖一个人,它会成为你的习惯,当分别来临,你失去的不是某个人,而是你精神...
    5a207cbe7396阅读 207评论 0 0