加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Vuejs 实现简易 todoList 功能 与 组件实例代码

发布时间:2020-12-16 23:36:55 所属栏目:百科 来源:网络整理
导读:todoList 结合之前 Vuejs 基础与语法使用 v-model 双向绑定 input 输入内容与数据 data使用 @click 和 methods 关联事件使用 v-for 进行数据循环展示 TodoList todoList 组件拆分 Vuejs 组件相关 详细参考 全局组件 注册全局组件,并在 HTML 中通过模板调用

todoList

结合之前 Vuejs 基础与语法 •使用 v-model 双向绑定 input 输入内容与数据 data •使用 @click 和 methods 关联事件 •使用 v-for 进行数据循环展示

TodoList

todoList 组件拆分

Vuejs 组件相关 详细参考

全局组件

注册全局组件,并在 HTML 中通过模板调用组件

item' })

局部组件

在注册了局部组件之后,直接通过模板调用是不可以的,必须要在最外层的 Vue 的实例中添加 components: { }进行组件声明。

item' } new Vue({ el: "#root",components: { //局部组件需要声明的 components 'todo-item': TodoItem },methods: { handleSubmit: function(){ this.list.push(this.inputValue) this.inputValue = '' } } })

即通过局部注册的组件,需要在其他的 Vue 实例中使用该局部组件。必须使用 components 对该局部组件进行注册。 上面的实例中,要在 Vue 实例中使用 TodoItem 这个局部组件,就通过 todo-item 这个标签来使用。当在实例中 注册好了以后,才可以在模板里面使用这个标签。这样就算正确的使用了局部组件。

外部传递参数

给 todo-item 标签添加 :content 属性,值为循环的每一项的内容 "item",

这样就可以吧 content 传递给 todo-item 这个组件

但是直接将组件改成是不行的

{{content}}' })

需要让组件接收属性,所以要在todo-item组件里面定义props属性,其值为一个数组 'content' 。 其含义是,该组件接收从外部传递的进来的名字叫做 content 的属性

{{content}}' })

组件与实例的关系

Vue 之中,每一个组件其实也是一个 Vue 的实例。因此在 Vue 项目中,是一个个实例构建而成的。 因此组件之中,也可以绑定 @click 事件,添加 methods 属性。

',methods: { handleClick: function(){ alert('clicked') } } })

同样的实例也可以被称作一个组件,那么我们这个根实例当中的 template 模板是什么呢 ? 如果一个 Vue 实例没有模板,会到挂载点去找。如下实例,根实例会找到 #root 下面挂载点的所有内容作为模板。

为 todoList 添加删除功能

通过 发布 / 订阅,当子组件点击时,通知父组件把数据删除掉。在子组件中,发布自定义一个 'delete' 事件。调用 this.$emit 方法,并传递 index 的值。

子组件向外部进行发布

父组件在模板里创建子组件的时候,监听子组件向外触发的 delete 事件,如果监听到 delete 事件,执行 handleDelete 函数。

然后在父组件的 methods 中,写好 handleDelete 方法。

总结

以上所述是小编给大家介绍的Vuejs 实现简易 todoList 功能 与 组件。编程之家 52php.cn 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读