todomvc实现日程安排
官方演示链接 http://todomvc.com/examples/vue/#/all
sublimer代码折叠 ctrl +shift+{
取消折叠 ctrl +shift+}
1.启动案例
clone仓库
Vue代码模块化
2.业务拆分
点击全选或者全不选
使用input标签绑定change事件,使得事件的完成状态与标签的选中状态相挂钩
注意联动切换
有无事件时的显示状态
根据数据的有无决定页脚的显示
在事件添加按钮中绑定回车按钮,用于事件的添加
双击进入编辑状态
使用中间变量对改变需要编辑的任务的样式
在循环输出时,加上一个input标签用于接收修改后的内容,这里巧妙在style的设定
在vue中设计到的逻辑
esc按钮终止编辑
enter或者失去焦点blur时保存数据
在双击按钮时,将原先的数据保存到变量
beforeEditeTitle
中
显示未完成的数目
使用计算属性对数组进行过滤,同时先定义好了一个钩子对象用于显示未完成的条目的搜寻
在后面加上复数的字符
使用pluralize方法
联动切换
使用计算属性进行操作,计算属性中get方法,当访问计算属性的时候自动的调用get方法
改进版本,使用v-model进行联动
本地持久化
使用window.localStorage中的方法对数据对象进行存储
对vue实例中的数据对象进行监视,调用对应的setItem方法存储到本地
watch:{ todos:{ deep:true, //对引用类型数据进行深度监视 handler:todoStorage.save //默认将新的值放在函数第一个参数位置,旧值在第二个位置 } },
按条件显示条目
定义一个钩子对象
定义一个状态变量
绑定点击事件,修改对应的状态变量
使用自定义指定,获得焦点
使用Vue.directive函数定义自定义指令,,然后将指令绑定到DOM元素上,尽可能的减少DOM的操作
Last updated