创建新页面
引入vue.js
<script src="./vue.js"></script>
.html文件 前端大体框架
<div id="app"> <input type="text"/> <button>提交</button> <ul> <li>第一个任务</li> <li>第二个任务</li> </ul> </div>
.js文件
输入框内的内容 循环输出列表任务
<script> var app = new Vue({ el:'#app', data:{ list:['第一个任务','第二个任务'] } }) </script>
循环data里面的数组数据,名称自定义,在html里面使用
<li v-for="item in list">第一个任务</li>//循环list里的数组数据大小
<li v-for="item in list">{{item}}</li>//用{{}}引用list里的数据
提交按钮使用< button >
<button v-on:click="handleBtnClick">提交</button>
.js需要用到methods方法
methods:{ handleBtnClick:function(){//定义方法 } }
点击button拿到input的内容,提取内容
<input type="text" v-model="inputValue"/>//提取inout里面的内容
接收提取input框中的内容
再将inputValue的内容传输到list中
var app = new Vue({ el:'#app', data:{ list:[], inputValue:'' }, methods:{ handleBtnClick:function(){ this.list.push(this.inputValue)//将input的内容增加到list中 } } })
附加功能 提交时同时清空输入框
methods:{ handleBtnClick:function(){ this.list.push(this.inputValue)//将input的内容增加到list中 this.inputValue = ''//使数据为空 } }
全部代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="./vue.js"></script> </head> <body> <div id="app"> <!-- 提取input里面的内容 --> <input type="text" v-model="inputValue"/> <button v-on:click="handleBtnClick">提交</button> <ul> <li v-for="item in list">{{item}}</li> <!-- 循环list里的数据 --> </ul> </div> </body> <script> var app = new Vue({ el:'#app', data:{ list:[], inputValue:'' }, methods:{ handleBtnClick:function(){ this.list.push(this.inputValue)//将input的内容增加到list中 this.inputValue = ''//使数据为空 } } }) </script> </html>
功能实现效果图
v-for 循环输出data中的数组
v-on 绑定事件
v-model 双向绑定(同时控制输入输出)
MVVM模式,对数据进行操作