1.vue模板渲染
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>vuedemo</title>
</head>
<body>
<div id="app" title="?">
{{ hello }}
</div>
<!-- built files will be auto injected -->
<script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
<script>
var app = new Vue({
el: "#app",
data () {
return {
hello: "world"
}
}
});
</script>
</body>
</html>
注意:
1.title="{{ hello }}"
2.v:title="hello"
2.v-text和v-html区别:
1.v-text
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>vuedemo</title>
</head>
<body>
<div id="app" >
<p v-text="hello"></p>
<p v-html="hello"></p>
</div>
<!-- built files will be auto injected -->
<script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
<script>
var app = new Vue({
el: "#app",
data () {
return {
hello: "world"
}
}
});
</script>
</body>
</html>
2.v-html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>vuedemo</title>
</head>
<body>
<div id="app" >
<p v-text="hello"></p>
<p v-html="hello"></p>
</div>
<!-- built files will be auto injected -->
<script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
<script>
var app = new Vue({
el: "#app",
data () {
return {
hello: "<span>world</span>"
}
}
});
</script>
</body>
</html>
3.表达式
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>vuedemo</title>
</head>
<body>
<div id="app" >
{{ status ? num+1 : num-1 }}
</div>
<!-- built files will be auto injected -->
<script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
<script>
var app = new Vue({
el: "#app",
data () {
return {
num: 1,
status: false
}
}
});
</script>
</body>
</html>
4.列表渲染
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>vuedemo</title>
</head>
<body>
<div id="app" >
<ul>
<!--<li v-for="item in list" v-text="item.name + item.price">{{ item.name }}:{{ item.price }}</li>-->
<!--<li v-for="(item,index) in list" :class="{odd: index % 2}">{{ index }}:{{ item.name }}:{{ item.price }}</li>-->
<li v-for="(value,key) in objList">{{ key +":"+ value}}</li>
</ul>
</div>
<!-- built files will be auto injected -->
<script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
<script>
var app = new Vue({
el: "#app",
data () {
return {
list: [
{
name: 'apple',
price: 6
},
{
name: 'banana',
price: 2
}
],
objList: {
name: 'apple',
price: 6,
color: 'red'
}
}
}
});
</script>
</body>
</html>
5.事件绑定
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>vuedemo</title>
</head>
<body>
<div id="app" >
<ul>
<li v-for="(item,index) in list">{{ item.name }}:{{ item.price }}</li>
</ul>
<button v-on:click="addItem" style="padding:10px">增加</button>
</div>
<!-- built files will be auto injected -->
<script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
<script>
var app = new Vue({
el: "#app",
data () {
return {
list: [
{
name: 'apple',
price: 6
},
{
name: 'banana',
price: 2
}
]
}
},
methods: {
addItem() {
this.list.push({ name: 'dog', price: 200})
}
}
});
</script>
</body>
</html>
1.set方法
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>vuedemo</title>
</head>
<body>
<div id="app" >
<ul>
<li v-for="(item,index) in list">{{ item.name }}:{{ item.price }}</li>
</ul>
<button v-on:click="addItem" style="padding:10px">增加</button>
</div>
<!-- built files will be auto injected -->
<script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
<script>
var app = new Vue({
el: "#app",
data () {
return {
list: [
{
name: 'apple',
price: 6
},
{
name: 'banana',
price: 2
}
]
}
},
methods: {
addItem() {
Vue.set(this.list,1,{ name: 'dog', price: 200})
}
}
});
</script>
</body>
</html>
总结:

6.指令
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>vuedemo</title>
</head>
<body>
<div id="app" >
<!--<a v-bind:href="link" v-bind:class="className" class="box" v-bind:title="link1">百度</a>-->
<!--<a :class="[classA,classB]">百度</a>-->
<a :class="[classA, {'A':has}]" :style="box">百度</a>
<a v-if="has" v-on:click="toggle">toggle has</a>
<a v-show="!has">has</a>
</div>
<!-- built files will be auto injected -->
<script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
<script>
var app = new Vue({
el: "#app",
data () {
return {
link: 'http://www.baidu.com',
link1: '111',
red: 'red',
classA: 'red',
classB: 'green',
has: true,
box: {
'color':'red',
'font-size':'20px'
}
// className: {
// 'green': true,
// 'yeollw': false
// }
// className: ['green','yellow'],
}
},
methods: {
toggle () {
this.has = !this.has
}
}
});
</script>
</body>
</html>
7.事件绑定和表单
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>vuedemo</title>
</head>
<body>
<div id="app" >
<button @click.stop="toggle"></button><!-阻止事件冒泡-->
<input v-on:keydown.enter="onKeydown" value="11"><!-修改器-->
<input v-model="myValue" type="text"/>
{{ myValue }}
<br />
<input v-model="myBox" type="checkbox" value="apple"/>
<input v-model="myBox" type="checkbox" value="banana"/>
<input v-model="myBox" type="checkbox" value="dog"/>
{{ myBox }}
<input v-model="myBox1a" type="radio" value="apple"/>
<input v-model="myBox1a" type="radio" value="banana"/>
<input v-model="myBox1a" type="radio" value="dog"/>
{{ myBox1a }}
<br />
<select v-model="select">
<option v-for="item in sele" :value="item.value">{{ item.text }}</option>
</select>
{{ select }}
</div>
<!-- built files will be auto injected -->
<script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
<script>
var app = new Vue({
el: "#app",
data () {
return {
myValue: 'aaa',
myBox:[],
myBox1a: [],
select: null,
sele: [
{"text": "APP","value":"0"},
{"text": "san","value":"1"},
]
}
},
methods: {
toggle () {
this.has = !this.has
},
onKeydown (){
console.log(this)
}
}
});
</script>
</body>
</html>

8.计算属性
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>vuedemo</title>
</head>
<body>
<div id="app" >
<input type="text" v-model="myValue" />
{{ getMyValue() }}
</div>
<!-- built files will be auto injected -->
<script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
<script>
var app = new Vue({
el: "#app",
data () {
return {
myValue: ''
}
},
computed: {
myValueWithoutNum (){
return this.myValue.replace(/\d/g, '');
}
},
watch: {
myValue: function(val, oldval){
console.log(val,oldval);
}
},
methods: {
getMyValue () {
return this.myValue.replace(/\d/g, '');
}
}
});
</script>
</body>
</html>

网友评论