1.Vue使用环境
-
安装nodejs,新版nodejs集成npm;使用
node -v
和npm -v
验证是否安装成功 -
修改npm镜像为淘宝npm镜像,然后使用cnpm指令代替npm
npm install -g cnpm --registry=http://registry.npm.taobao.org
-
安装vue
cnpm install -g @vue/cli
-
创建vue项目
vue create gen-online-classroom-front
- 插件安装
1.Vue VSCode Snippets:Vue智能提示
2.简单指令
-
v-if v-else逻辑判断(后续代码仅复制核心代码)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="https://unpkg.com/vue@next"></script> </head> <body> <div id="app"> <div v-if="Math.random() > 0.5">大于0.5</div> <div v-else>小于等于0.5</div> </div> </body> <script> Vue.createApp({ }).mount('#app') </script> </html>
-
v-for循环指令
<body> <div id="app"> <ul> <li v-for="user in users"> {{user.name}} </li> </ul> </div> </body> <script> Vue.createApp({ data() { return { users: [ { name: "张三" }, { name: "李四" }, { name: "哈哈" }, ] } } }).mount('#app') </script>
-
v-model实现双向数据绑定
<body> <div id="app"> <p>{{phone}}</p> 手机号:<input v-model="phone"> </div> </body> <script> Vue.createApp({ data() { return { phone: "110" } } }).mount('#app') </script>
-
v-on监听事件(简写)
<body> <div id="app"> <p>{{title}}</p> <button @click="changeTitle">按钮</button> </div> </body> <script> Vue.createApp({ data() { return { title: "标题" } }, methods: { changeTitle: function () { this.title = this.title + "|| 标题添加"; } } }).mount('#app') </script>
-
v-bind绑定事件(简写)
<body> <div id="app"> <a :href="url">跳转</a> </div> </body> <script> Vue.createApp({ data() { return { url: "https://www.baidu.com" } }, }).mount('#app') </script>