vue的指令
我之前学了学angular
发现angular和vue的指令有点类似
先说一下
new Vue({
el: "#box", // element(元素) 当前作用域
data(){
return { //用return返回对象
msg: "122"
}
}
})
首先是
v-model双向绑定数据
<input type="text" v-model="msg"/> {{msg}} <!--取数据-->
v-for循环
1 <div id="box">2 <ul>
3 <!--ng-repeat-->
4 <li v-for="item in arr">
5 <span>{{item.name}}</span>
6 <span>{{item.age}}</span>
7 </li>
8 </ul>
9 </div>
10 <script type="text/javascript">
11 new Vue({
12 el:'#box',
13 data(){
14 return{
15 // arr:['module','views','controlle','aaaaa']
16 arr:[
17 {"name":"xiaohong1","age":12},
18 {"name":"xiaohong2","age":12},
19 {"name":"xiaohong3","age":12},
20 {"name":"xiaohong4","age":12}
21 ]
22 }
23 }
24 })
25 </script>
v-show 显示与隐藏
<div id="box"><div style="width: 100px;height: 100px;background: black;display: none" v-show="show"></div>
</div>
</body>
<script>
new Vue({
el: "#box",
data(){
return {
show: true
}
}
})
</script>
v-if显示与隐藏 (dom元素的删除添加 个人理解)
<div id="box"><div style="width: 100px;height: 100px;background: black;" v-if="show"></div>
</div>
<script>
new Vue({
el: "#box",
data(){
return {
show: true
}
}
})
</script>
v-else
<div id="box"><div style="width: 100px;height: 100px;background: black;" v-if="show"></div>
<div style="width: 300px;height: 300px;background: blue" v-else=""></div>
</div>
<script>
new Vue({
el: "#box",
data(){
return {
show: true
}
}
})
</script>
v-else-if
<div id="box"><div style="width: 100px;height: 100px;background: black;" v-if="show"></div>
<div style="width: 100px;height: 100px;background: aqua;" v-else-if=""></div>
<div style="width: 300px;height: 300px;background: blue" v-else=""></div>
</div>
<script>
new Vue({
el: "#box",
data(){
return {
show: true
}
}
})
</script>
v-bind
<div id="box"><input type="text" v-bind:value="msg">
<a :href="link">点击</a>
</div>
<script>
new Vue({
el: "#box",
data(){
return {
msg: "12222",
link:"1、v-model.html"
}
}
})
</script>
v-on 事件
<div id="box"><!-- v-on -->
<button v-on:click="say">按钮</button>
<!--<button @click="say">按钮</button>-->
</div>
<script>
new Vue({
el: "#box",
data(){
return {}
},
methods: {
say() {
alert(111);
}
}
})
</script>
v-text读取文本不能读取html标签
1 <div id="box">2 <div v-text="msg"></div>
3 </div>
4
5 <script>
6 new Vue({
7 el: "#box",
8 data(){
9 return {
10 msg:"11111"
11 }
12 },
13 methods: {
14 say() {
15 alert(111);
16 }
17 }
18 })
19 </script>
v-html 能读取html标签
<div id="box"><div v-html="msg"></div>
</div>
<script>
new Vue({
el: "#box",
data(){
return {
msg:"<h1>121212</h1>"
}
},
methods: {
say() {
}
}
})
</script>
v-class 类名
1 <style>2 .red {
3
4 background: red;
5 }
6
7 .blue {
8 width: 100px;
9 height: 100px;
10 background: blue;
11 }
12
13 </style>
14
15
16 <div id="box">
17 <div style="width: 100px;height: 100px;" v-bind:class='{red:isred}'></div>
18 <!--<div style="width: 100px;height: 100px;" v-bind:class='isred?"red":"blue"'></div>--> <!--三元运算符方式-->
19 <!--<div style="width: 100px;height: 100px;" v-bind:class='[{red:"isred"}]'></div>-->
20
21 </div>
22
23
24 <script>
25 new Vue({
26 el: "#box",
27 data(){
28 return {
29 isred:false
30 }
31 }
32 })
33 </script>
v-style 与v-class用法大致一样 这个我就不写了
v-once 与我下边的例子 就是 加载一次 如果用到事件中就是事件只执行一次(@click.once="show")
<div id="box"><div v-once>{{msg}}</div>
</div>
<script type="text/javascript">
new Vue({
el:"#box",
data(){
return{
msg:"qwdqwdqwd"
}
}
})
</script>
v-cloak防闪烁
<div id="box"><div v-cloak="">欢迎--{{msg}}</div>
</div>
<script>
new Vue({
el:"#box",
data(){
return{
msg:"111111"
}
}
})
</script>
v-pre 把标签内部的元素原位输出
<div id="box"><div v-pre>欢迎--{{msg}}</div>
</div>
<script>
new Vue({
el:"#box",
data(){
return{
msg:"111111"
}
}
})
</script>
1 vue 是什么2
3 简介型的javascript框架 个人开发 (刘雨溪)
4
5 特点:mvvm m=mvc module 模型 v=view 视图 c=controller 控制器
6 mvvm m=mvc module 模型 v=view 视图 vm (视图与数据之间的传递)
7 vue1 双向数据绑定 vue2 单向数据流
8 单页面应用
9
10
11
12
13 v-model 数据绑定
14 data 返回对象用 return
15
16 v-for 循环 格式 v-for="字段名 in(of) 数组json"
17
18 v-show 显示 隐藏 传递的值为布尔值 true false 默认为false
19
20 v-if 显示与隐藏 和v-show对比的区别 就是是否删除dom节点 默认值为false
21
22 v-else-if 必须和v-if连用
23
24 v-else 必须和v-if连用 不能单独使用 否则报错 模板编译错误
25
26 v-bind 动态绑定 作用: 及时对页面的数据进行更改
27
28
29
30 v-on 绑定事件 函数必须写在methods里面
31 @click 快捷方法
32
33 v-text 解析文本
34
35 v-html 解析html标签
36
37 v-bind:class 三种绑定方法 1、对象型 '{red:isred}' 2、三目型 'isred?"red":"blue"' 3、数组型 '[{red:"isred"},{blue:"isblue"}]'
38
39 v-once 进入页面时 只渲染一次 不在进行渲染
40
41 v-cloak 防止闪烁
42
43 v-pre 把标签内部的元素原位输出
以上是 vue的指令 的全部内容, 来源链接: utcz.com/z/378092.html