methods: 方法
<div id="app">
<p>{{ showInfo() }}</p>
</div>
<script>
var vm = new Vue({ //实例化vue对象
// el属性:指定程序界面
// data属性:指定程序使用数据
el: '#app',
data: {
name:'wei_shuo',
url:'www.duidaima.com'
},
methods:{
showInfo:function(){
//return this.$data.name + ":" + this.url; 两种写法
return this.name + ":" + this.url;
}
}
});
</script>
\
// 页面显示 wei_shuo : www.duidaima.com
<div id="app"> <h3 v-text="name"></h3> <h3> {{ name }} </h3> //v-text="name"的缩写 </div> <script> var app = new Vue({ el:"#app", data:{ name:"堆代码" } }); </script> // 页面显示 堆代码v-html
<div id="app"> <h3 v-html="name"></h3> </div> <script> var app = new Vue({ el:"#app", data:{ name:"<h1>堆代码</h1>" } }); </script> // 页面显示 堆代码v-html 和 v-text 区别
<div id="app"> <p v-text="name1"></p> <p v-html="name2"></p> </div> <script> var app = new Vue({ el:"#app", data:{ name1:"<h1>堆代码</h1>", name2:"<h1>堆代码</h1>" } }); </script> // 页面显示 name1 :<h1>堆代码</h1> name2 : 堆代码v-model
<div id="app"> <!-- 输入框内容修改,message也修改,修改message,input内容也修改,双向绑定 --> <input type="text" v-model="message">{{message}} </div> <script> const app = new Vue({ el:"#app", data:{ message:"wei_shuo" } }) </script> <div id="app"> <!-- 双向绑定--> <input type="text" v-model="message" @keyup.enter="getM"> <h2>{{message}}</h2> <input type="button" value="修改message" @click="setM"> </div> <script> var app = new Vue({ el:"#app", data:{ message:"wei_shuo" }, methods:{ getM:function (){ alert(this.message) //创建getM方法验证,v-model是否双向绑定 }, setM:function (){ this.message = "lishun"; //创建setM方法验证,v-model是否双向绑定 } }, }) </script>v-on
<div id="app"> <div class="inpute-num"> <button @click="sub"> - </button> <span>{{ num }}</span> <button @click="add"> + </button> </div> </div> <script> var app = new Vue({ el: "#app", data: { num: 1 }, methods: { add: function () { // console.log('add') if (this.num < 10) { this.num++; } else { alert('别点了,最大了') } }, sub: function () { // console.log('sub') if (this.num > 0) { this.num--; } else { alert('别点了,最小了!') } } } }) </script>v-on 事件修饰符
<div id="app"> <input type="button" value="点击" @click="doIT(666,'老铁')"> <!-- 输入文字触发方法--> <!-- <input type="text" @keyup="sayHi"> --> 输入文字触发方法 <input type="text" @keyup.enter="sayHi"> </div> <script> var app = new Vue({ el:"#app", methods:{ doIT:function (p1,p2){ console.log("做IT"); console.log(p1); console.log(p2); }, sayHi:function (){ alert("吃了没") } } }) </script>v-show
<div id="app"> <input type="button" value="切换显示状态" @click="changeIsShow"><br> <img v-show="isShow" src="img/monkey.png" alt=""> </div> <script> const app = new Vue({ el: '#app', data: { isShow: false, age: 17 }, methods: { changeIsShow: function () { this.isShow =! this.isShow; //通过调用对isShow的值进行取反 } } }) </script>v-bind
<div id="box"> <img v-bind:src="url"> </div> <script> let myDate = { url : 'images/00.jpg' //绑定图片地址 }; let demo = new Vue({ el : '#box', data : myDate }); </script>条件判断
<div id="app"> <div v-if="score>=90"> wei_shuo入选堆代码最热博主 </div> </div> <script> var demo = new Vue({ el: '#app', data:{ score:90 //分数 } }) </script> // 页面显示 wei_shuo入选堆代码最热博主v-else
<div id="app"> <div v-if="score>=90"> wei_shuo入选堆代码最热博主 </div> <div v-else> 你说得对 </div> </div> <script> var demo = new Vue({ el: '#app', data:{ score:80 //分数 } }) </script> // 页面显示 你说得对v-else-if
<div id="app"> <div v-if="score>=90"> wei_shuo入选堆代码最热博主 </div> <div v-else-if="score>=60"> wei_shuo入选bilibili最热博主 </div> <div v-else> 你说得对 </div> </div> <script> var demo = new Vue({ el: '#app', data:{ score:60 //分数 } }) </script> // 页面显示 wei_shuo入选bilibili最热博主v-for
<div id="app"> <input type="button" value="添加数据" @click="add"> <input type="button" value="删除数据" @click="remove"> <ul> <li v-for="(item,index) in arr"> {{ index + 1}} wei_shuo:{{ item }} </li> </ul> <h2 v-for="item in vegetables" v-bind:title="item.name"> {{item.name}} </h2> </div> <script> var app = new Vue({ el:'#app', data:{ arr:["北京","广州","上海","深圳"], vegetables:[ {name:"番茄炒鸡蛋"}, {name:"鸡蛋炒番茄"} ] }, methods:{ add:function (){ this.vegetables.push({name:"花菜炒蛋"}) //创建添加方法 }, remove:function (){ this.vegetables.shift() //创建删除方法 } } }); </script>v-if 和 v-show 区别
2.v-if 是惰性的,如果在初始条件为 false 时,v-if 本身什么都不会做,而使用 v-show 时,不管初始条件是真是假,DOM 元素总是会被渲染。因此从初始渲染的角度考虑,v-if 消耗的性能要比 v-show 小。
总的来说,v-if 有更高的切换消耗而 v-show 有更高的初始渲染消耗。因此,如果需要频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好