Vue_Study入门二

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
实时计算 Flink 版,5000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: Get新知识: vue 按键修饰符vue 中不仅可以通过事件来和用户进行交互,也可以同通过键盘按键来交互,使用 v-on:keyup.enter=“xxx” 的格式来为指定的键盘事件指定处理逻辑,一般情况下是对某个具体键盘事件进行专门的处理逻辑,如果不指定具体按键则会是所按键都会出发事件。 vue 自定义按键修饰符通过如下的语句来自定义按键,Vue.config.keyCodes.qaq ...

Get新知识:

vue 按键修饰符

vue 中不仅可以通过事件来和用户进行交互,也可以同通过键盘按键来交互,使用 v-on:keyup.enter="xxx" 的格式来为指定的键盘事件指定处理逻辑,一般情况下是对某个具体键盘事件进行专门的处理逻辑,如果不指定具体按键则会是所按键都会出发事件。

vue 自定义按键修饰符

通过如下的语句来自定义按键,
Vue.config.keyCodes.qaq = 65;
在vue 中,不仅仅可以通过按键名 来为专门的按键指定处理逻辑也可以通过按键的 keyCode 来指定,例如v-on:keyup.65="xxx" 其中65正是A的asicc 码值,在vue键盘事件中应该是忽略大小写,所以所有的字母按键的keycode都对应对应的asicc 码值。自定义按键修饰符的作用在于使用修饰符更为方便,而不是自定义一个新的按键,按键都已经被定义号了只是修饰符的改变。

vue 属性绑定

vue 中使用 v-bind:href="url" 指令,来绑定标签的属性,来达到动态的更新属性值的功能。

vue 样式绑定

使用 v-bind:class="{class1: isClass1}" 或 v-bind:class="[class1]"
如果有多个 class 样式需要绑定,则需要使用 v-bind:class="{class1: isClass1, class2: isClass2...}" 或 v-bind:class="[class1, class2]" 这样的方式,当然如果样式过多这样的书写过于繁琐,所以可以使用如下的方式 v-bind:class="objClasses" 或 v-bind:class="arrClasses"
在script 中 书写

objClasses: {
    class1: true,
    class2: true
    ...
}
arrClasses: ["class1", "class2" ...]

案例代码:

<!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>vue_demo14</title>
    <style>
        .main {
    
    
            height: 500px;
            width: 500px;
            border: 1px solid red;
        }
    </style>
</head>
<body>
    <div id="app15">
        <!-- 样式绑定 -->
        <div v-bind:class="[mainClass]"></div>
          <div v-bind:class="objClasses"></div>
          <div v-bind:class="arrClasses"></div>
          <div v-bind:class="{main: isMain}"></div>
        <button @click="handle">text</button>
    </div>
</body>
<script type="text/javascript" src="../vue_js/vue.js"></script>
<script type="text/javascript">
    var temp_vue = new Vue({
    
    
        el: "#app15",
        data: {
    
    
            mainClass: "main",
              isMain: true,
              objClasses: {
    
    
                isMain: true,
              isTest: true
            },
              arrClasses: ["main"]
        },
        methods: {
    
    
            handle: function(){
    
    
                this.mainClass = "";
                  this.objClasses.isMain = false;
                  this.isMain = false;
                  this.arrClasses[0] = "";
            }
        }
    });
</script>
</html>

另外,如果标签中之前已经有其他的class 样式,使用类似如下的方式使用v-bind 则老的class 样式会被保留。

vue 行内样式 style 绑定

vue 绑定 行内样式style, 使用

        <div v-bind:style="objStyle"></div>
        <div v-bind:style="{
      
      width: widthStyle, height: heightStyle, border: borderStyle}"></div>
        <div v-bind:style="[Style1, Style2]" style="width: 200px;height: 100px;"></div>

这样格式来绑定,也可以支持数组,对象的方式来绑定。
在script 中书写代码也和之前的vue 绑定class style 类似。

<!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>vue_demo16</title>
</head>
<body>
    <div id="app16">
        <div v-bind:style="objStyle"></div>
        <div v-bind:style="{
      
      width: widthStyle, height: heightStyle, border: borderStyle}"></div>
        <div v-bind:style="[Style1, Style2]" style="width: 200px;height: 100px;"></div>
    </div>
</body>
<script type="text/javascript" src="../vue_js/vue.js"></script>
<script type="text/javascript">
    var temp_vue = new Vue({
    
    
        el: "#app16",
        data: {
    
    
            widthStyle: "200px",
            borderStyle: "1px solid red",
            heightStyle: "100px",
            objStyle: {
    
    
                width: '200px',
                height: "100px",
                border: "1px solid blue"
            },
            Style1: {
    
    
                backgroundColor: "red"
            },
            Style2: {
    
    
                backgroundColor: "green"
            }
        },
        methods: {
    
    
            handle: function(){
    
    
                this.objStyle.width = "20px";
                this.Style1.backgroundColor = "blue";
            }
        }
    });
</script>
</html>

vue 分支结构

vue 分支结构通过v-if 和 v-else-if v-else 共同组成,分支结构.
v-if 的指令是如果条件为通过,在不会对应的dom 元素都不会生成,页面上也没有对应元素,而另一个v-show 指令则是会生成dom 元素,但不会在页面显示出来罢了,其中就是display :none 的变化。对于一些变化较多的应该使用v-show 指令,一些变化较少的使用v-if指令。

vue 循环结构

vue 的循环也是通过指令来完成的,使用 v-for 来遍历数组等集合类型的数据,默认情况下,vue 会对集合的每一个元素设定一个索引,该索引值类似与数组的下标,可以作为集合元素的唯一标识。
image.png

补充v-if 和 v-for 结合使用
image.png

目录
相关文章
|
21天前
|
缓存 监控 JavaScript
vue从安装到熟练 2022流畅无痛版(第一季:入门篇)
该文章是《vue从安装到熟练 2022流畅无痛版》系列的第一季入门篇,介绍了Vue的基本概念、环境配置、项目创建与运行,并通过修改HelloWorld.vue和App.vue文件内容展示了如何在页面上显示"Hello World",最后还提供了Vue官方文档链接和介绍了Vue的常用内置指令和模板语法等基础知识。
vue从安装到熟练 2022流畅无痛版(第一季:入门篇)
|
23天前
|
JavaScript 前端开发
vue入门
vue入门
18 2
vue入门
|
4月前
|
JavaScript 开发者 UED
Vue入门到关门之第三方框架elementui
ElementUI是一个基于Vue.js的组件库,包含丰富的UI组件如按钮、表格,强调易用性、响应式设计和可自定义主题。适用于快速构建现代化Web应用。官网:[Element.eleme.cn](https://element.eleme.cn/#/zh-CN)。安装使用时,需在项目中导入ElementUI和其样式文件。
33 0
|
30天前
|
JavaScript 前端开发 API
Vue3入门
Vue3入门
16 0
|
1月前
|
JavaScript 前端开发
Vue入门记录(一)
Vue入门记录(一)
31 0
|
3月前
|
JavaScript 前端开发 API
Vue3入门 - vue3相比于vue2的优点,及如何创建Vue3项目
Vue3入门 - vue3相比于vue2的优点,及如何创建Vue3项目
|
2月前
|
JavaScript 前端开发 程序员
Vue2入门(安装Vue、devtools,创建Vue)以及MVVM分层思想
Vue2入门(安装Vue、devtools,创建Vue)以及MVVM分层思想
29 0
|
3月前
|
JavaScript
vue路由从入门到进阶 --- 路由重定向与404等问题
vue路由从入门到进阶 --- 路由重定向与404等问题
|
3月前
|
JavaScript 前端开发
Vue入门01
Vue入门01
28 0
|
4月前
|
JavaScript 程序员 网络架构
vue路由从入门到进阶 --- 声明式导航详细教程
vue路由从入门到进阶 --- 声明式导航详细教程
vue路由从入门到进阶 --- 声明式导航详细教程