1.纯文本渲染
使用双大括号,使用data数据里声明的或props里的(后面组件间传值时用到,这里先不介绍) 或一段表达式
<body>
<p id="app">
{{msg}} <br/>
{{obj.name}} <br/>
{{1>2?true:false}} <br/>
</p>
<script>
var vm=new Vue({ //注意这里 V要 大写
el:"#app", //将Vue实例绑定到 p 标签上
data:{
msg:"这是一段话", //绑定数据 msg 的值
obj:{
name:"张三",
age:20
}
},
})
</script>
</body>
网页显示结果:
2.原始html代码 渲染
关键字 : v-html
在标签里添加 v-html=“msg_html”
<body>
<div id="app">
<p>{{msg}}</p>
<p v-html="msg_html"></p>
</div>
<script>
var vm=new Vue({
el:"#app",
data:{
msg:"<p style='color:red'>这是html代码</p>",
msg_html:"<p style='color:red'>这是html代码</p>",
},
})
</script>
</body>
网页显示结果:
上面可见用{{ }}双大括号并不能渲染原始代码,而v-html可以,由此在渲染原始代码时要注意 网络安全,防止被别人注入危险的代码
3.基础指令
指令: 带有 v- 前缀的特殊属性. 指令 attribute(属性) 的值预期是单个 JavaScript 表达式(v-for 是个特殊的情况) , 例如:
- v-bind , 绑定标签属性, 其简便写法 v-bind:src="#" 简写成 :src="#"
- v-if , 判断语句常常与v-else一起用
- v-show , 与v-if相似作用,单独使用
- v-on , 绑定事件, 其简便写法 v-on:click=“say” 简写成 @click=“say”
- v-model, 双向绑定(即当数据发生变化的时候,视图也就发生变化,当视图发生变化的时候,数据也会跟着同步变化。)
- 等等
<body>
<div id="app">
<p v-bind:id="userId"></p>
<!-- <img :src="#"/> -->
<p v-show="isOn"> 当isOn为true时显示 </p>
<button v-on:click="say()"></button>
<p v-if="isOn"> isOn为true时显示 </p>
<p v-else> isOn为false时显示 </p>
<input type="text" v-model="inputValue" />
<p>{{userId}}随着input值变化而变化</p>
</div>
<script>
var vm=new Vue({
el:"#app",
data:{
userId:"1234",
msg:"www",
isOn:true
inputValue:'sss'
},
methods:{
say(){
this.msg="我说话了"
}
}
})
</script>
</body>
指令后缀修饰符:以半角句号 . 指明的特殊后缀
Vue封装好了的,处理一些开发中的细节问题(比如解决事件冒泡,一直调用onScroll网页变卡的问题等等)
(例如:<form @click.stop=“move”> )
可分为:
- 表单修饰符
- 事件修饰符
- 鼠标按键修饰符
- 键值修饰符
- v-bind修饰符
本节先不细讲修饰符,后期会细讲