Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Vue 入门教程

Vue 入门教程

原创
作者头像
ruochen
发布于 2022-03-07 03:26:25
发布于 2022-03-07 03:26:25
1.9K0
举报

vue

  • 核心:MVVM(Model-View-ViewModel),实现数据的双向绑定,把编程的关注点放在数据上

入门

  • 引入 js 文件 ```html <script src="js/vue.js"></script> ```
  • 在 JS 代码区域,创建 Vue 核心对象,进行数据绑定 ```js new Vue({ el: "#app", data(){ return { username: "" } } }) ```
  • 编写视图 ```html <div id="app"> <input name="username" v-model="username"> {{username}} </div> ```
  • demo ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div id="app"> <input v-model="username"> <!--插值表达式--> {{username}} </div>
代码语言:txt
AI代码解释
复制
        <script src="js/vue.js"></script>
代码语言:txt
AI代码解释
复制
        <script>
代码语言:txt
AI代码解释
复制
            // 1. 创建 vue 核心对象
代码语言:txt
AI代码解释
复制
            new Vue({
代码语言:txt
AI代码解释
复制
                el: "#app",
代码语言:txt
AI代码解释
复制
                data() {
代码语言:txt
AI代码解释
复制
                    return {
代码语言:txt
AI代码解释
复制
                        username: ""
代码语言:txt
AI代码解释
复制
                    }
代码语言:txt
AI代码解释
复制
                }
代码语言:txt
AI代码解释
复制
                /* data: function (){
代码语言:txt
AI代码解释
复制
                    return {
代码语言:txt
AI代码解释
复制
                        username: ""
代码语言:txt
AI代码解释
复制
                    }
代码语言:txt
AI代码解释
复制
                }*/
代码语言:txt
AI代码解释
复制
            });
代码语言:txt
AI代码解释
复制
        </script>
代码语言:txt
AI代码解释
复制
    </body>
代码语言:txt
AI代码解释
复制
</html>
代码语言:txt
AI代码解释
复制
```

常用指令

  • v-bind:为 HTML 标签绑定属性值,如设置 href,css 样式等 ```html <a v-bind:href="url">xxx</a> ``` ```html <!-- v-bind 可以省略 --> <a :href="url">xxx</a> ```
  • v-model:在表单元素上创建双向数据绑定 ```html <input name="username" v-model="username"> ```
  • v-on:为 HTML 标签绑定事件 - html ```html <input type="button" value="button" v-on:click="show()"> <input type="button" value="button" @click="show()"> ``` - vue ```js new Vue({ el: "#app", methods: { show() { alert("被点击"); } } }) ```
  • v-if、v-else、v-else-if:条件性的渲染某元素,判定为true时渲染,否则不渲染 ```html <div v-if="count == 1">div1</div> <div v-else-if="count == 2">div2</div> <div v-else="count == 3">div3</div> <div v-show="count == 1">div v-show</div> ```
  • v-show:根据条件展示某元素,区别在于切换的是 display 属性的值
  • v-for:列表渲染,遍历容器的元素或者对象的属性 - v-for```html <div v-for="addr in addrs"> {{addr}}<br> </div> ``` - 加索引 ```html <div v-for="(addr,i) in addrs"> <!-- i表示索引,从0开始 --> {{i+1}}:{{addr}}<br> </div> ```生命周期| 状态 | 阶段周期 | | - | - | | beforeCreate | 创建前 | | created | 创建后 | | beforeMount | 载入前 | | mounted | 挂载完成 | | beforeUpdate | 更新前 | | updated | 更新后 | | beforeDestory | 销毁前 | | destroyed | 销毁后 |
  • mounted:挂载完成,Vue 初始化成功,HTML 页面渲染成功 - 发送异步请求,加载数据 - eg: ```js new Vue({ el: "#app", mounted(){ alert("vue 挂载完毕,发送异步请求 "); } }) ```

业务 - 使用 Vue 简化查询

  • brand.java 添加 ```java // 逻辑视图 public String getStatusStr() { if (this.status == null) { return null; } if (this.status == 1) { return "启用"; } return "禁用"; } ```
  • brand-vue.html ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div id="app"> <a href="addBrand.html"><input type="button" value="新增"></a><br> <hr> <table id="brandTable" border="1" cellspacing="0" width="100%"> <tr> <th>序号</th> <th>品牌名称</th> <th>企业名称</th> <th>排序</th> <th>品牌介绍</th> <th>状态</th> <th>操作</th> </tr>
代码语言:txt
AI代码解释
复制
                <!--
代码语言:txt
AI代码解释
复制
                    使用 v-for 遍历 tr
代码语言:txt
AI代码解释
复制
                -->
代码语言:txt
AI代码解释
复制
                <tr v-for="(brand,i) in brands" align="center">
代码语言:txt
AI代码解释
复制
                    <td>{{i + 1}}}</td>
代码语言:txt
AI代码解释
复制
                    <td>{{brand.brandName}}</td>
代码语言:txt
AI代码解释
复制
                    <td>{{brand.companyName}}</td>
代码语言:txt
AI代码解释
复制
                    <td>{{brand.ordered}}</td>
代码语言:txt
AI代码解释
复制
                    <td>{{brand.description}}</td>
代码语言:txt
AI代码解释
复制
                    <td>{{brand.statusStr}}</td>
代码语言:txt
AI代码解释
复制
                    <td><a href="#">修改</a> <a href="#">删除</a></td>
代码语言:txt
AI代码解释
复制
                </tr>
代码语言:txt
AI代码解释
复制
            </table>
代码语言:txt
AI代码解释
复制
        </div>
代码语言:txt
AI代码解释
复制
        <script src="js/axios-0.18.0.js"></script>
代码语言:txt
AI代码解释
复制
        <script src="js/vue.js"></script>
代码语言:txt
AI代码解释
复制
        <script>
代码语言:txt
AI代码解释
复制
            new Vue({
代码语言:txt
AI代码解释
复制
                el: "#app",
代码语言:txt
AI代码解释
复制
                data() {
代码语言:txt
AI代码解释
复制
                    return {
代码语言:txt
AI代码解释
复制
                        brands: []
代码语言:txt
AI代码解释
复制
                    }
代码语言:txt
AI代码解释
复制
                },
代码语言:txt
AI代码解释
复制
                mounted() {
代码语言:txt
AI代码解释
复制
                    // 页面加载完成后,发送异步请求,查询数据
代码语言:txt
AI代码解释
复制
                    var _this = this;  // _this 作用域为 vue
代码语言:txt
AI代码解释
复制
                    axios({
代码语言:txt
AI代码解释
复制
                        method: "get",
代码语言:txt
AI代码解释
复制
                        url: "http://localhost:8080/brand-demo/ajaxSelectAllServlet"
代码语言:txt
AI代码解释
复制
                    }).then(function (resp) {
代码语言:txt
AI代码解释
复制
                        // 这里 this 作用域为 window
代码语言:txt
AI代码解释
复制
                        _this.brands = resp.data;
代码语言:txt
AI代码解释
复制
                    })
代码语言:txt
AI代码解释
复制
                }
代码语言:txt
AI代码解释
复制
            })
代码语言:txt
AI代码解释
复制
        </script>
代码语言:txt
AI代码解释
复制
    </body>
代码语言:txt
AI代码解释
复制
</html>
代码语言:txt
AI代码解释
复制
```
  • 测试
    业务 - vue 实现新增

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Vue 入门教程[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138757.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/02
4210
Vue 入门教程[通俗易懂]
JavaWeb Day11 Vue快速入门
我们之前也学习过后端的框架 Mybatis ,Mybatis 是用来简化 jdbc 代码编写的;而 VUE 是前端的框架,是用来简化 JavaScript 代码编写的。
小小程序员
2023/03/07
3.8K0
JavaWeb Day11 Vue快速入门
java从入门到精通二十五(vue和element 对项目的改进)
我们之前获取前端表单数据的时候,我们需要进行大量的操作。当前我只是进行了浅显的一些认识。
兰舟千帆
2022/07/16
9060
java从入门到精通二十五(vue和element 对项目的改进)
JavaScript-Vue
通过我们学习的html+css+js已经能够开发美观的页面了,但是开发的效率还有待提高,那么如何提高呢?我们先来分析下页面的组成。一个完整的html页面包括了视图和数据,数据是通过请求 从后台获取的,那么意味着我们需要将后台获取到的数据呈现到页面上,很明显, 这就需要我们使用DOM操作。正因为这种开发流程,所以我们引入了一种叫做MVVM(Model-View-ViewModel)的前端开发思想,即让我们开发者更加关注数据,而非数据绑定到视图这种机械化的操作。那么具体什么是MVVM思想呢?
张哥编程
2024/12/13
940
JavaScript-Vue
Java Web(十二)Vue&Element
Vue&Element 一.Vue 1.概述 Vue 是一套前端框架,免除原生 lavaScriptr 中的 DOM 操作,简化书写 基于 MVWM(Model--View-ViewModel))思想,实现数据的双向绑定,将编程的关注点放在数据上 官网:https://cn.vuejs..org 图片 1.1 快速入门 新建 HTML 页面,引入 Vue.js 文件 <script src="js/vue.js"></script> 在 JS 代码区域,创建 Vue 核心对象,进行数据绑定
浅辄
2022/11/23
4160
Java Web(十二)Vue&Element
【VUE】基础用法(属性与事件的绑定,条件渲染等)
在填写表单时,双向数据绑定可以辅助开发者在不操作DOM的前提下,自动把用户填写的内容同步到数据源中。
坚毅的小解同志的前端社区
2022/12/13
1.5K0
【VUE】基础用法(属性与事件的绑定,条件渲染等)
2.vue常用指令
注意:写插值语句的时候,只有的id=app的元素下面才可以使用插值语句,所以,尽可能创建一个标签,将所要渲染的数据,都写入当前标签中
张哥编程
2024/12/13
1020
2.vue常用指令
VUE-局部使用
Vue 是一款用于构建用户界面的渐进式的JavaScript框架。 (官方:https://cn.vuejs.org/)
愷龍
2024/05/15
1100
VUE-局部使用
Vue.js——60分钟快速入门(转载) Vue.js介绍声明该文是转载的,欢迎转载,支持尊重版权,原文作者:keepfool,原文地址:http://www.cnblogs.com/keepfo
Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的。相比于Angular.js,Vue.js提供了更加简洁、更易于理解的API,使得我们能够快速地上手并使用Vue.js。
lin_zone
2018/08/15
1.2K0
Vue.js——60分钟快速入门(转载)
		Vue.js介绍声明该文是转载的,欢迎转载,支持尊重版权,原文作者:keepfool,原文地址:http://www.cnblogs.com/keepfo
后端人眼中的Vue(二)
​ 和插值表达式({{}})一样,用于获取vue实例中data属性声明的数据。用法是在哪个标签上获取就直接在哪个标签上定义v-text或者是v-html。相当于javascript中的innerText。直接将获取的数据直接渲染到指定标签中。
上分如喝水
2023/01/08
2.4K0
后端人眼中的Vue(二)
Vue & Element
Vue 是一套前端框架,免除原生 JavaScript 中的 DOM 操作,简化书写。Vue 基于 MVVM(Model-View-View-Model) 思想,实现数据的双向绑定,将编程的关注点放在数据上。
小简
2023/01/04
5.7K0
Vue & Element
Vue入门 基本使用 与 事务管理【1】
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。
陶然同学
2023/02/24
8950
Vue入门 基本使用 与 事务管理【1】
10天从入门到精通Vue(一)-vue基本概念和基础语法(v-text、v-bind、v-on、v-model等)
v-text会覆盖元素中原本的内容,但是 插值表达式 只会替换自己的这个占位符,不会把 整个元素的内容清空。v-html会解析文本中的html标签后展示。具体代码如下:
共饮一杯无
2022/11/28
1.5K0
10天从入门到精通Vue(一)-vue基本概念和基础语法(v-text、v-bind、v-on、v-model等)
史上最详细vue的入门基础
Vue可以自底向上逐层的应用简单应用:只需一个轻量小巧的核心库复杂应用:可以引入各式各样的Vue插件
楠羽
2022/11/18
9170
史上最详细vue的入门基础
VueJS 常用系统指令
可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码
cwl_java
2019/12/25
1.2K0
Vue入门---常用指令详解
Vue是一个MVVM(Model / View / ViewModel)的前端框架,相对于Angular来说简单、易学上手快,近两年也也别流行,发展速度较快,已经超越Angular了。比较适用于移动端,轻量级的框架,文件小,运行速度快。最近,闲来无事,所以学习一下Vue这个流行的框架,以备后用。
半指温柔乐
2018/09/11
1.7K0
Vue入门---常用指令详解
(第一季)Vue2.0-内部指令
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。
楠楠
2018/09/11
7870
(第一季)Vue2.0-内部指令
VUE.js高级
首先先更正一下昨天发送内容的错误之处,对你造成的影响深表歉意。对照昨天的文章:ajax和vue.js(此处连接方便大家查看对照)中第6部分vue的事件与函数中,第4行更正为this.属性名或对象名.属性(昨天写成了冒号,此处为手误,特此更正)
小闫同学啊
2019/07/18
4.3K0
VUE.js高级
第一章 : Vue2 技术精讲
① 对象 → 键就是类名,值是布尔值。如果值为 true,有这个类,否则没有这个类
捞月亮的小北
2023/12/01
2120
第一章 : Vue2 技术精讲
Vue 相关学习笔记(一)
可能有安全问题, 一般只在可信任内容上使用 v-html,永不用在用户提交的内容上
用户6808043
2022/02/24
7.6K0
Vue 相关学习笔记(一)
相关推荐
Vue 入门教程[通俗易懂]
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档