vue快速入门(1)

一、介绍
1、Vue.js 是什么
Vue (读音 /vju ː /,类似于 view) 是一套用于构建用户界面的渐进式框架。
Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。
官方网站: https://cn.vuejs.org
2、初始Vue.js
创建 demo.html
1 <!-- id 标识 vue 作用的范围 -->
2 <div id = "app" >
3 <!-- {{}} 插值表达式,绑定 vue 中的 data 数据 -->
4 {{ message }}
5 </div>
6 <script src = "vue.min.js" ></script>
7 <script>
8
9 // 创建一个 vue 对象
10 new Vue({
11 el: '#app' , // 绑定 vue 作用的范围
12 data: { // 定义页面中显示的模型数据
13 message: 'Hello Vue!'
14 }
15 })
16
17 </script>
这就是声明式渲染: Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进DOM 的系统
这里的核心思想就是没有繁琐的DOM操作,例如jQuery中,我们需要先找到div节点,获取到 DOM对象,然后进行一系列的节点操作
在vs code中创建代码片段:
文件 => 首选项 => 用户代码片段 => 新建全局代码片段/或文件夹代码片段: vue-html.code-
snippets
注意:制作代码片段的时候,字符串中如果包含文件中复制过来的“Tab”键的空格,要换成“空
格键”的空格

 

{
 "vue htm": {
 "scope": "html",
 "prefix": "vuehtml",
 "body": [
 "<!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>",
 "</head>",
 "",
 "<body>",
 " <div id=\"app\">",
 "",
 " </div>",
 " <script src=\"vue.min.js\"></script>",
 " <script>",
 " new Vue({",
 " el: '#app',",
 " data: {",
 " $1",
 " }",
 " })",
 " </script>",
 "</body>",
 "",
 "</html>",
 ],
 "description": "my vue template in html"
 }
 }

测试

二、基本语法
1、基本数据渲染和指令
创建 01- 基本数据渲染和指令 .html
你看到的 v-bind 特性被称为指令。指令带有前缀 v-
除了使用插值表达式{{}}进行数据渲染,也可以使用 v-bind指令,它的简写的形式就是一个 冒号
(:)
1 data: {
2 content: ' 我是标题 ' ,
3 message: ' 页面加载于 ' + new Date().toLocaleString()
4 }
1 <!-- 如果要将模型数据绑定在 html 属性中,则使用 v-bind 指令
2 此时 title 中显示的是模型数据
3 -->
4 <h1 v-bind:title = "message" >
5 {{content}}
6 </h1>
7
8 <!-- v-bind 指令的简写形式: 冒号( : -->
9 <h1 :title = "message" >
10 {{content}}
11 </h1>

 

2、双向数据绑定 创建 02- 双向数据绑定 .html
双向数据绑定和单向数据绑定:使用 v-model 进行双向数据绑定
1 data: {
2 searchMap:{
3 keyWord: ' 尚硅谷 '
4 }
5 }
1 <!-- v-bind:value 只能进行单向的数据渲染 -->
2 <input type = "text" v-bind:value = "searchMap.keyWord" >
3 <!-- v-model 可以进行双向的数据绑定 -->
4 <input type = "text" v-model = "searchMap.keyWord" >
5
6 <p> 您要查询的是: {{searchMap.keyWord}} </p>
3、事件
创建 03- 事件 .html
需求: 点击查询按钮,按照输入框中输入的内容查找公司相关信息
在前面的例子基础上,data节点中增加 result,增加 methods节点 并定义 search方法
1 data: {
2 searchMap:{
3 keyWord: ' 尚硅谷 '
4 },
5 // 查询结果
6 result: {}
7 },
8 methods:{
9 search(){
10 console.log( 'search' )
11 //TODO
12 }
13 } html 中增加 button p
使用 v-on 进行数件处理, v-on:click 表示处理鼠标点击事件,事件调用的方法定义在 vue 对象声明的 methods 节点中
1 <!-- v-on 指令绑定事件, click 指定绑定的事件类型,事件发生时调用 vue methods 节点中定义的方法
2 <button v-on:click = "search()" > 查询 </button>
3
4 <p> 您要查询的是: {{searchMap.keyWord}} </p>
5 <p><a v-bind:href = "result.site" target = "_blank" > {{result.title}} </a></p>
完善 search 方法
1 search(){
2 console.log( 'search' );
3 this .result = {
4 "title" : " 尚硅谷 " ,
5 "site" : "http://www.atguigu.com"
6 }
7 }
简写
1 <!-- v-on 指令的简写形式 @ -->
2 <button @click = "search()" > 查询 </button>
4、修饰符
创建 04- 修饰符 .html
修饰符 (Modifiers) 是以半角句号 (.) 指明的特殊后缀,用于指出一个指令应该以特殊方式绑定。
例如, .prevent 修饰符告诉 v-on 指令对于触发的事件调用 event.preventDefault()
即阻止事件原本的默认行为
1 data: { 2 user: {}
3 }
1 <!-- 修饰符用于指出一个指令应该以特殊方式绑定。
2 这里的 .prevent 修饰符告诉 v-on 指令对于触发的事件调用 js event.preventDefault()
3 即阻止表单提交的默认行为 -->
4 <form action = "save" v-on:submit.prevent = "onSubmit" >
5 <label for = "username" >
6 <input type = "text" id = "username" v-model = "user.username" >
7 <button type = "submit" > 保存 </button>
8 </label>
9 </form>
1 methods: {
2 onSubmit() {
3 if ( this .user.username) {
4 console.log( ' 提交表单 ' )
5 } else {
6 alert( ' 请输入用户名 ' )
7 }
8 }
9 }
5、条件渲染
创建 05- 条件渲染 .html
v-if :条件指令
1 data: {
2 ok: false
3 }
注意: 单个复选框绑定到布尔值
1 <input type = "checkbox" v-model = "ok" > 同意许可协议
2 <!-- v:if 条件指令:还有 v-else v-else-if 切换开销大 -->
3 <h1 v-if = "ok" > if Lorem ipsum dolor sit amet. </h1>
4 <h1 v-else > no </h1>
v-show :条件指令
使用 v-show 完成和上面相同的功能
1 <!-- v:show 条件指令 初始渲染开销大 -->
2 <h1 v-show = "ok" > show Lorem ipsum dolor sit amet. </h1>
3 <h1 v-show = "!ok" > no </h1>
v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。
v-if 也是 惰性的 :如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。
相比之下, v-show 就简单得多——不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。
一般来说, v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要非 常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。
6、列表渲染
创建 06- 列表渲染 .html
v-for :列表循环指令
1 :简单的列表渲染
1 <!-- 1 、简单的列表渲染 -->
2 <ul>
3 <li v-for = "n in 10" > {{ n }} </li>
4 </ul>
5 <ul>
6 <!-- 如果想获取索引,则使用 index 关键字,注意,圆括号中的 index 必须放在后面 -->
7 <li v-for = "(n, index) in 5" > {{ n }} - {{ index }} </li> 8 </ul>
2 :遍历数据列表
1 data: {
2 userList: [
3 { id: 1 , username: 'helen' , age: 18 },
4 { id: 2 , username: 'peter' , age: 28 },
5 { id: 3 , username: 'andy' , age: 38 }
6 ]
7 }
1 <!-- 2 、遍历数据列表 -->
2 <table border = "1" >
3 <!-- <tr v-for="item in userList"></tr> -->
4 <tr v-for = "(item, index) in userList" >
5 <td> {{index}} </td>
6 <td> {{item.id}} </td>
7 <td> {{item.username}} </td>
8 <td> {{item.age}} </td>
9 </tr>
10 </table>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

做一道光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值