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

目录
相关文章
|
2月前
|
JavaScript 前端开发 小程序
一小时入门Vue.js前端开发
本文是作者关于Vue.js前端开发的快速入门教程,包括结果展示、参考链接、注意事项以及常见问题的解决方法。文章提供了Vue.js的基础使用介绍,如何安装和使用cnpm,以及如何解决命令行中遇到的一些常见问题。
一小时入门Vue.js前端开发
|
1月前
|
存储 JavaScript 前端开发
前端开发:Vue.js入门与实战
【10月更文挑战第9天】前端开发:Vue.js入门与实战
|
1月前
|
JavaScript API 开发者
十分钟 带你强势入门 vue3
十分钟 带你强势入门 vue3
61 1
|
1月前
|
JavaScript
vue3完整教程从入门到精通(新人必学2,搭建项目)
本文介绍了如何在Vue 3项目中安装并验证Element Plus UI框架,包括使用npm安装Element Plus、在main.js中引入并使用该框架,以及在App.vue中添加一个按钮组件来测试Element Plus是否成功安装。
61 0
vue3完整教程从入门到精通(新人必学2,搭建项目)
|
1月前
|
JavaScript Java CDN
vue3完整教程从入门到精通(新人必学1,vue3快速上手)
本文提供了Vue 3从入门到精通的完整教程,涵盖了创建Vue应用、通过CDN使用Vue、定义网站以及使用ES模块构建版本的步骤和示例代码。
120 0
vue3完整教程从入门到精通(新人必学1,vue3快速上手)
|
19天前
|
JavaScript 前端开发 C#
从入门到放弃,我们为何从 Blazor 回到 Vue
【10月更文挑战第29天】在前端开发中,许多开发者从尝试新技术 Blazor 最终回到熟悉的 Vue。主要原因包括:1) Blazor 学习曲线陡峭,Vue 上手容易;2) Vue 开发工具成熟,开发效率高;3) Vue 性能优异,优化简单;4) Vue 社区庞大,生态丰富;5) 项目需求和团队协作更适配 Vue。选择技术栈需综合考虑多方面因素。
|
3月前
|
缓存 监控 JavaScript
vue从安装到熟练 2022流畅无痛版(第一季:入门篇)
该文章是《vue从安装到熟练 2022流畅无痛版》系列的第一季入门篇,介绍了Vue的基本概念、环境配置、项目创建与运行,并通过修改HelloWorld.vue和App.vue文件内容展示了如何在页面上显示"Hello World",最后还提供了Vue官方文档链接和介绍了Vue的常用内置指令和模板语法等基础知识。
vue从安装到熟练 2022流畅无痛版(第一季:入门篇)
|
3月前
|
JavaScript 前端开发
vue入门
vue入门
28 2
vue入门
|
6月前
|
JavaScript 开发者 UED
Vue入门到关门之第三方框架elementui
ElementUI是一个基于Vue.js的组件库,包含丰富的UI组件如按钮、表格,强调易用性、响应式设计和可自定义主题。适用于快速构建现代化Web应用。官网:[Element.eleme.cn](https://element.eleme.cn/#/zh-CN)。安装使用时,需在项目中导入ElementUI和其样式文件。
59 0
|
3月前
|
JavaScript 前端开发 API
Vue3入门
Vue3入门
30 0