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 入门教程[通俗易懂]

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 基于51单片机的步进电机的控制

    基于51单片机的步进电机的控制前面笔者分享过基于51单片机的两种小车制作,我们利用的是L298N驱动控制电机转动,那么接下来,笔者给大家介绍两种利用51单片机控制步进电机的小程序。首先我们要如何使电机转动呢,源程序如下:#include&lt;reg52.h&gt;unsignedcharcodeF_Rotation[4]={0x02,0x04,0x08,0x10};//正转表格,换算成二进制00…

    2022年5月31日
    31
  • json 字段null丢失_什么是空字符串

    json 字段null丢失_什么是空字符串JSON.toJSONString(list,SerializerFeature.WriteMapNullValue);

    2022年9月18日
    3
  • nfv与云计算_云计算必学知识

    nfv与云计算_云计算必学知识云计算1.Saas软件即服务SaaS的实例:MicrosoftOfficeOnline(WordOnline,ExcelOnline等)服务,无需在本机安装,打开浏览器,注册账号,可以随时随地通过网络进行软件编辑,保存等,不需要用户去升级软件,维护软件等。平台即服务,把服务器平台作为一种对外提供的一种商业模式。系统对外提供接口服务,开发者可以利用这些接口进行开发业务或者应用,提供给用户使…

    2025年10月12日
    2
  • Python基础知识点总结[通俗易懂]

    Python基础知识点总结[通俗易懂]Python基础知识点

    2022年10月16日
    5
  • WebUploader学习(一)基础知识学习

    WebUploader学习(一)基础知识学习WebUploaderwebuploader支持多图上传,大文件上传,压缩图片上传,拖拽上传,显示上传进度,预览等当上传的需求要求可预览、显示上传进度、中断上传过程、大文件分片上传等等,这时传统的

    2022年8月4日
    6
  • 鹰眼摄像头(OV7725)的使用

    鹰眼摄像头(OV7725)的使用原载:http://blog.csdn.net/lxk7280/article/details/26975233?utm_source=tuicool凭借着OV7620,将已经调好速度控制和角度控制的车子能跑起来了。基础功能实现后就开始对车子优化了。一个好的人眼睛最重要,同样对于一个好的平衡车,摄像头传感器最重要。因此我决心首先做的是对摄像头的优化。

    2022年4月19日
    118

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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