注意事项:
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>