vue.js 入门案例,双向绑定实现任务清单
vue.js 开发环境安装成功。
http://localhost:8080/ 使用vue.js双向绑定实现类似这样一个任务清单页面。
下面是我的学习笔记。
//app.vue页面 <template><div id="app"><h1 v-text="title"></h1><input v-model="newItem" v-on:keyup.enter="addNew"><ul><li v-for="item in items" v-bind:class="{finished: item.isFinished}" v-on:click="toggleFinish(item)">{{item.label}}</li></ul></div> </template><script>import Store from './store'export default{data(){return{title: "每 日 任 务",items: Store.fetch(),/* [{"label":"俯卧撑10个","isFinished":true}{"label":"背单词10个","isFinished":false}]*/newItem:''//liclass:"thisisliclass" //赋值class名称 }},watch:{items:{handler:function(items){Store.save(items)},deep:true}},methods:{toggleFinish:function(item){item.isFinished = !item.isFinished},addNew:function(){this.items.push({label: this.newItem,isFinished:false})this.newItem=''}}} </script><style>#app{width:400px;margin:0 auto;}.finished{text-decoration:line-through;} </style>
/*1. export default 理解是,这是一个模块,export导出,导出的是一个对象。2. data(){} 相当于 data:function(){},ES6语法。data是一个函授,函数返回一个对象3. <h1 v-text="title"></h1> 的简写方式为 <h1>{{title}}</h1> 4. v-text 和 v-html 是常用的数据渲染指令,text是纯文本,html会渲染html标签5. v-for 可以渲染列表,v-for 指令需要以 item in items 形式的特殊语法6. v-bind:class="[liclass]"创建一个class,需要在retrun中添加liclass:"thisisliclass" ,赋值class名称7. v-bind:class="{finished: item.isFinished}"添加一个finished的class,创建一个对象,item.isFinished, 对应isFinished字段如果为true就显示这个finished的class,否则就不显示8. v-on:click="toggleFinish(item)"v-don 是事件处理器,这里添加了click事件,在 data 里面添加toggleFinish(item)函数item.isFinished = !item.isFinishe , item.isFinished此时的值是布尔值 !item.isFinishe 是对 item.isFinished 的值进行取反,双向绑定,实现点击切换9. v-model 在表单控件上创建双向绑定,<input> , <select> , <textarea>v-on:keyup.enter="addNew" 添加键盘事件,指定enter键值,调用addNewthis.items.push 在items数组末尾添加元素label: this.newItem 新添加的lable值和input输入的值绑定isFinished:false 默认行为是falsethis.newItem='' input值输入之后,清空10. watch 观察 Vue 实例变化的一个表达式或计算属性函数,items 指的是观察的对象handler:function(items) 传进handler这个函数里Store.save(items) 调用store.js里面的方法,并自动保存到 window.localStoragedeep:true 设置为true,会在页面刷新时更新 isFinished 状态,否则就不会更新Store.fetch() 调用store.js里面的方法,把存储的值给到 items
//store.js页面 const STORAGE_KEY = 'todos-vuejs' export default{fetch(){return JSON.parse(window.localStorage.getItem(STORAGE_KEY) || '[]')},save (items){window.localStorage.setItem(STORAGE_KEY,JSON.stringify(items))} }/* 1.const 是 es6 的语法, 是不会被重新赋值的变量。 2.export default 可以理解为一套模板,导出两个方法,也是es6的语法 */
转载于:https://www.cnblogs.com/Agrass/p/6595887.html
vue.js 入门案例,双向绑定实现任务清单相关推荐
- 【进阶玩法】Angular用emit()实现类似Vue.js的v-model双向绑定[(ngModel)]功能
app.component.html <app-sizer [(ngModel)]="fontSizePx"></app-sizer> <p [sty ...
- Vue.js 入门案例
理解MVVM模型 <!DOCTYPE html> <html lang="en"> <head><meta charset="U ...
- b站黑马的Vue快速入门案例代码——【axios+Vue2】悦听player(音乐播放器)
目录 本文中修改的原代码中的BUG: 修改方法: 本文案例代码仍有的BUG:(欢迎大家献计献策) 目标效果: 悦音player案例--效果展示视频: 更换的新接口/参数: 1.歌曲搜索接口:https ...
- js模板字符串自定义类名_【Vue.js 入门到实战教程】07Vue 组件注册 | 基本使用和组件嵌套...
来源 | https://xueyuanjun.com/post/21929除了前面介绍的基本语法之外,Vue.js 还支持通过组件构建复杂的功能模块,组件可以称得上是 Vue.js 的灵魂,是 Vu ...
- Vue之数据的双向绑定
在vue中实现数据双向绑定的核心在于v-model 示例: <input type="text" name=" " v-model="userN ...
- Vue.js入门教程(适合初学者)
Vue.js入门教程 Vue官网网址:Vue.js 中文网 Vue.js Vue.js是渐进式JavaScript 框架,是一套构建用户界面的渐进式框架.也可以说Vue.js 是一个用来构建网页界面的 ...
- vue设置cookie的domain无效_【Vue.js入门到实战教程】16Tailwind 与 Bootstrap 的区别和使用入门...
来源 | https://xueyuanjun.com/post/22065我们知道,从 Laravel 8 开始,自带前端脚手架代码默认兼容 Tailwind CSS 框架,取代了之前的 Boots ...
- Vue.js入门教程-组件注册
一.组件创建 1.1 创建步骤 创建Vue的组件都有三个基本步骤是 [①创建组件构造器.②注册组件和③使用组件]. 1.2 基本示例 比如,我们创建一个Button组件. // 1. 创建一个组件构造 ...
- 【Vue】—数据的双向绑定v-model
[Vue]-数据的双向绑定v-model
最新文章
- 关于Redis的使用!
- 恢复后缀phobos勒索病毒 解密成功 百分百恢复sql文件
- java search 不能使用方法_elasticsearch(七)java 搜索功能Search Request的介绍与使用...
- Mysql删除语句优化_MySQL性能优化之常用SQL语句优化
- JS 将有规律的数组,转换成对象数组
- oracle 会话 lock,相克军_Oracle体系_随堂笔记014-锁 latch,lock
- 服务器定期监控数据_基础设施硬件监控探索与实践
- 2020-08-27
- 天气之子电脑壁纸_今年最受期待的5部日本动画电影,新海诚新作《天气之子》领衔...
- crm高速开发之OrganizationService
- 【Docker】问题汇总
- php curl获取404,php使用curl判断网页404(不存在)的方法
- Python资源索引 【转载】
- 人工智能系列:AI 可视化训练平台
- 百度地图导航工具类,包含骑行步行及驾车导航
- linux 搜狗输入法使用技巧,在Deepin 20系统中使用官方搜狗输入法的技巧
- linux 搜狗不能打中文,linux下搜狗输入法不能输入中文的解决方案
- 做程序员,需要学习哪些专业知识?
- ​​​LabVIEW DLL传递一个二维数组报错
- 敲一万小时的代码可以成为大牛吗?
热门文章
- 对于一些敏感的数据(例如密码),为什么使用字符数组存储比使用String更安全?
- VoltDB培训PPT一则
- Vmware ESXi应用之如何使用母盘模板部署虚拟机
- resultSet.next() 位置处报错:java.lang.OutOfMemoryError: Java heap space
- 程序员如何勇敢说“不”!
- python换行输出到文件_Python的quot;printquot;函数在“Hello World”之外的延伸
- GameJS——Game Library written in JavaScript
- 计算机上无线网络开关在哪里,笔记本电脑无线网开关在哪_笔记本电脑如何打开无线网-win7之家...
- socket简介和udp网络程序-发送、接收数据
- linux tomcat守护_Linux 系统下 Tomcat 的服务配置和性能优化