Vue 入门教程[通俗易懂]

Vue 入门教程[通俗易懂]Vue入门教程

大家好,又见面了,我是你们的朋友全栈君。

vue

  • 核心:MVVM(Model-View-ViewModel),实现数据的双向绑定,把编程的关注点放在数据上
    Vue 入门教程[通俗易懂]

入门

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

常用指令

  • v-bind:为 HTML 标签绑定属性值,如设置 href,css 样式等
    <a v-bind:href="url">xxx</a>
    
    <!-- v-bind 可以省略 -->
    <a :href="url">xxx</a>
    
  • v-model:在表单元素上创建双向数据绑定
    <input name="username" v-model="username">
    
  • v-on:为 HTML 标签绑定事件
    • html
    <input type="button" value="button" v-on:click="show()">
    <input type="button" value="button" @click="show()">
    
    • vue
    new Vue({ 
         
    	el: "#app",
    	methods: { 
         
    		show() { 
         
    		alert("被点击");
    		}
    	}
    })
    
  • v-if、v-else、v-else-if:条件性的渲染某元素,判定为true时渲染,否则不渲染
    <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 属性的值
    Vue 入门教程[通俗易懂]
  • v-for:列表渲染,遍历容器的元素或者对象的属性
    • v-for
    <div v-for="addr in addrs">
    	{
        
        {addr}}<br>
    </div>
    
    • 加索引
    <div v-for="(addr,i) in addrs">
    	<!-- i表示索引,从0开始 -->
    	{
        
        {i+1}}:{
        
        {addr}}<br>
    </div>
    

生命周期

状态 阶段周期
beforeCreate 创建前
created 创建后
beforeMount 载入前
mounted 挂载完成
beforeUpdate 更新前
updated 更新后
beforeDestory 销毁前
destroyed 销毁后

Vue 入门教程[通俗易懂]

  • mounted:挂载完成,Vue 初始化成功,HTML 页面渲染成功
    • 发送异步请求,加载数据
    • eg:
    new Vue({ 
         
    	el: "#app",
    	mounted(){ 
         
    		alert("vue 挂载完毕,发送异步请求 ");
    	}
    })
    

业务 – 使用 Vue 简化查询

Vue 入门教程[通俗易懂]

  • brand.java 添加
        // 逻辑视图
        public String getStatusStr() { 
         
            if (this.status == null) { 
         
                return null;
            }
            if (this.status == 1) { 
         
                return "启用";
            }
            return "禁用";
        }
    
  • brand-vue.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>
    <!-- 使用 v-for 遍历 tr -->
    <tr v-for="(brand,i) in brands" align="center">
    <td>{
    {i + 1}}}</td>
    <td>{
    {brand.brandName}}</td>
    <td>{
    {brand.companyName}}</td>
    <td>{
    {brand.ordered}}</td>
    <td>{
    {brand.description}}</td>
    <td>{
    {brand.statusStr}}</td>
    <td><a href="#">修改</a> <a href="#">删除</a></td>
    </tr>
    </table>
    </div>
    <script src="js/axios-0.18.0.js"></script>
    <script src="js/vue.js"></script>
    <script> new Vue({ 
     el: "#app", data() { 
     return { 
     brands: [] } }, mounted() { 
     // 页面加载完成后,发送异步请求,查询数据 var _this = this; // _this 作用域为 vue axios({ 
     method: "get", url: "http://localhost:8080/brand-demo/ajaxSelectAllServlet" }).then(function (resp) { 
     // 这里 this 作用域为 window _this.brands = resp.data; }) } }) </script>
    </body>
    </html>
    
  • 测试
    Vue 入门教程[通俗易懂]

业务 – vue 实现新增

Vue 入门教程[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138757.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Tomcat学习—Tomcat的tomcat-user.xml配置文件

    Tomcat学习—Tomcat的tomcat-user.xml配置文件

  • 基于Docker的Kafka集群搭建

    基于Docker的Kafka集群搭建1.pulldocker,在机器上下载最新版本的kafka和zookeeper镜像,这里使用的是wurstmeister的镜像dockerpullwurstmeister/kafkadockerpullwurstmeister/zookeeper2.装好的docker镜像3.启动zk容器Dockerrun–d–namezookeeper–p2181:…

  • 新东方俞敏洪

    新东方俞敏洪新东方俞敏洪作者:郑志颖http://www.caigou.com.cn/news/20170405133.shtml俞敏洪互联网时代的教育技术一个人在具体环境中接受教育,受什么影响?我看受四个因素的影响:时间因素、空间因素、师资因素和工具因素。传…

  • 树莓派3B+ 安装系统

    树莓派3B+ 安装系统树莓派3B+安装系统对于树莓派3B+系统安装方法有很多,我就介绍比较普通的一种。适合小白操作!安装概要步骤:官网下载系统-》刷入TF卡-》设置开启显示器和SSH-》通电-》进入系统详细步骤进入官方网站下载系统镜像。https://www.raspberrypi.org/downloads/来到下面这个页面如果感觉下载速度慢,可以将下载链接放到迅雷里面下,基本可以做到满速下载!下载

  • 防暴力激活成功教程密码的脚本「建议收藏」

    防暴力激活成功教程密码的脚本「建议收藏」前几天,突然发现日志文件/var/log/auth.log(ubuntu)或者/var/log/secure(centos),存在好多尝试激活成功教程用户密码的现象,如下脚本通过获取到日志文件的IP地址,加入到/etc/hosts.deny文件中,拒绝该IP地址的尝试登陆服务器。#1.定义变量,获取日志中刷选的IP地址DIR_file=/var/log/auth.logIP_list=`awk’/…

  • Vue(1)Vue安装与使用[通俗易懂]

    Vue(1)Vue安装与使用[通俗易懂]前言Vue(读音/vjuː/,类似于view)是一套用于构建前后端分离的框架。刚开始是由国内优秀选手尤雨溪开发出来的,目前是全球“最”流行的前端框架。使用vue开发网页很简单,并且技术生态环境完善

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号