注意事项:
methods必须要加s
- 导入vue:<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
- 导入Axios:<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
简单Vue程序
<div id="app">
{{ message }}
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
var app =new Vue({
el:"#app",
data:{
message:"hello Vue!"
}
})
</script>
el : 挂载点
data: 数据,里面也可以放数组,对象等
vue指令
v-text指令的作用:设置标签的内容
v-html指令的作用是:设置元素的innerHTML
<h2 v-text = "message">北京</h2>
<h2>{{ message+"!" }}深圳</h2>
<p v-html="content"></p>
<script>
var app=new Vue({
el:"#app",
data:{
message:"嘿嘿嘿",
content:"<a href='https://mp.csdn.net/console/home'>黑马</a>"
}
})
</script>
v-on指令基础:点击就触发(单机、双击,按键)
<button @click="sub">点击我</button>
<input type="text" @keyup.enter="sayHi">
<script>
var app=new Vue({
el:"#app",
data:{
num:1
},
methods:{
sub:function(){
console.log("sub");
}
}
})
</script>
v-show、v-if指令:元素的显示与隐藏、v-if操作DOM树开销大
<img v-show="isShow" src="./1.jpg">
<img v-show="age>=18" src="./1.jpg">
<p v-if="true">我是一个p标签</p>
<p v-if="isShow">我是一个p标签</p>
v-bind指令:为元素绑定属性、需要动态的增删class建议使用对象的方式
<img :src="imgSrc" :title="imgTitle+'显示'" :class="isActive?'active':''" @click="toggleActive">
<img :src="imgSrc" :title="imgTitle+'显示'" :class="{active:isActive}" @click="toggleActive">
v-for指令:循环
<li v-for="(item,index) in arr" :title="item">
{{ index }}{{ item }}
</li>
<li v-for="(item,index) in objArr">
{{ item.name }}
</li>
v-model:双向绑定数据
<input type="button" v-model="message" />
<script>
var app=new Vue({
el:"#app",
data:{
message:"沙丁鱼"
},
</script>
关于HTML标签的使用
# 链接触发javascript
<a href="javascript:;" @click="changeCity('北京')">北京</a>
# audio使用
<audio v-bind:src="MusicUrl" ref="audio" controls autoplay loop @play="play" @pause="pause"></audio>
# video使用
<video v-bind:src="MvUrl" controls="controls"></video>