首页 > 其他分享 >vue入门案例-基本使用----非常适合初学者。言简意赅,没有废话。附带springboot+vue前后端视频,如果需要视频请点赞关注私信我,免费获取视频

vue入门案例-基本使用----非常适合初学者。言简意赅,没有废话。附带springboot+vue前后端视频,如果需要视频请点赞关注私信我,免费获取视频

时间:2024-10-17 13:48:51浏览次数:10  
标签:私信 视频 vue age js Vue npm 组件

  • List item

vue

1. vue介绍

渐进式JavaScript框架,易学易用,性能出色,适用场景丰富的 Web 前端框架

地址:https://cn.vuejs.org/

什么是vue?

Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以胜任。


2. idea配置

  • 安装插件 vue.js
  • 创建前端项目 (略)
  • 导入vue.js文件

3. vue语法

3.1 vue入门案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/vue.js"></script>
</head>
<body>
   <div id="app">
       <!-- 胡须表达式  大胡子表达式 ,取值,展示-->
        {{username.length}}
        {{age}}
       {{user.age+10}}
       {{arr.length}}
       {{users[1].address}}
   </div>

<script type="text/javascript">
    // 初始化vue对象
    new Vue({
        el: "#app",  // 挂载点,
        data: {  // 模型数据
           username: "tom",
            age: 20,
            user:{
               username: "jack",
                age: 20,
                address: "bj"
            },
            arr:["张三","李四","王五"],
            users: [
                {
                    username: "jack1",
                    age: 20,
                    address: "bj"
                },
                {
                    username: "jack2",
                    age: 20,
                    address: "bj2"
                },{
                    username: "jack3",
                    age: 20,
                    address: "bj"
                }
            ]
        },
        methods:{
            // 方法的地方
        }
    });
</script>

</body>
</html>

3.2 vue指令(很重要)

  • v-html
  • v-text
  • v-bind
  • v-show
  • v-on
  • v-if
  • v-for
  • v-model ------MVVM

代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script src="js/vue.js"></script>
</head>
<body>

    <div id="app">
        {{msg}} <br/>

        <span v-text="msg"></span>   <br/>

        <span v-html="msg"></span> <br/>

        <button type="button" v-on:click="isShow">按钮一</button>
        <button type="button" @click="isShow">按钮二</button><br/>

        <img width="200px" v-bind:src="path">
        <img v-show="flag" :width="width" :src="path">

        <br/>

        <span v-if="age<18 && age>0">未成年,可以预习java了</span>
        <span v-else-if="age>=18 && age<=65">成年了,可以学习java了</span>
        <span v-else-if="age>65">可以退休了。。。。</span>
        <span v-else>输入年龄错误。。。</span>

        <br/>

        <ul>
            <li v-for="(a,b) in arr">{{a.username}}======{{b}}</li>
        </ul>

        <br/>

        用户名:<input type="text" v-model="name" >    -------{{name}}

    </div>

<script type="text/javascript">

    /**
     * 指令
     * v-text: 文本操作
     * v-html: 可以解析标签
     * v-bind: 属性绑定
     * v-show: 展示,不展示
     * v-on: 事件绑定指令
     * v-if: 判断
     * v-for: 循环指令
     * v-model: 双向绑定
     */

    new Vue({
        el: "#app",
        data:{
            name: "xx",
            msg: "<h1>王天霸</h1>",
            path: "img/erha.jpg",
            width: "200px",
            flag: false,
            age: -11,
            arr:[
                {
                    username: "张根硕1",
                    age: 31,
                },
                {
                    username: "张根硕2",
                    age: 32,
                },
                {
                    username: "张根硕3",
                    age: 33,
                }
            ]
        },
        methods:{
           isShow(){
              this.flag = !this.flag;
           },
        }
    });
</script>

</body>
</html>

3.3 vue侦听属性和计算属性(了解)

  • watch属性
  • computed 属性

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script src="js/vue.js"></script>
</head>
<body>
  <div id="app">
      <input type="text" v-model="msg">

      {{birth}}
  </div>

<script type="text/javascript">
    new Vue({
        el: "#app",
        data: {
            msg: "xx",
            name:"tom",
            date: 1713429960000,
        },
        methods:{},
        watch:{ // 监听属性
            // 参数一:新值,参数二:上一次的值
            msg(a,b){
                console.debug(a,b);
            }
        },
        computed:{ // 计算属性
            birth(){ // 处理时间戳---》时间
              let d = new Date(this.date);
              return  d.getFullYear()+"年:"+d.getMonth()+"月:"+d.getDate()+"日";
            }
        }
    });
</script>

</body>
</html>

3.4 vue组件(很重要)

  • 全局组件

    任意的挂载点都可以使用

    // 语法:
    Vue.component("mycomponent",{
    	template : "<h1>这是全局组件</h1>"
    

全局组件代码案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script src="js/vue.js"></script>
</head>
<body>

  <div id="app">
      <my-component></my-component>
  </div>

  <div id="app2">
      <my-component></my-component>
  </div>

  <template id="mytemp">
      <div>
          <h1>全局组件</h1><h2>{{msg}}</h2>
      </div>
  </template>

<script type="text/javascript">

    // 定义组件:  myComponent: 自定义的标签
    /**
     * 注意事项:
     *    1. 标签尽量不要大写
     *    2. 模版中有且只能有一个根标签
     */
    // 模版的定义方式: 在<template>标签中定义thml内容
    Vue.component("myComponent",{
        template:"#mytemp",
        data(){
            return{
              msg: "张三"
            }
        }
    });

    new Vue({
        el: "#app",
        data:{
            msg:"你好"
        }
    });
    new Vue({
        el: "#app2",
        data:{
            msg:"你好"
        }
    });
</script>
</body>
</html>
  • 局部组件

    只能在某一个vue实例的挂载点使用

    // 语法
    var app = new Vue({
        el: "#app",
        data: {},
        components : {
            "局部组件的名字1" : {组件的配置对象},
            "局部组件的名字2" : {组件的配置对象}
      }
    });
    

​ 局部组件代码案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script src="js/vue.js"></script>
</head>
<body>

  <div id="app">
      <innercomponent1></innercomponent1>
      <innercomponent2></innercomponent2>
  </div>

<script type="text/javascript">
    new Vue({
        el: "#app",
        data: {},
        components:{
            "innercomponent1":{
                template: "<h1>我是局部组件1-----{{msg}}</h1>",
                data(){
                    return{
                        msg: "xx",
                    }
                }
            },
            "innercomponent2":{template: "<h1>我是局部组件2</h1>"},
        }
    });

</script>
</body>
</html>

3.5 vue路由(很重要)

什么是路由

后端:对于普通网站,所有的超链接都对应一个url地址,每个url都对应服务器上的资源

前端:对于单页面应用程序来说的,主要通过url中的#(hash)去实现的,(当关于a标签)

路由使用

引入vue-router.js文件

案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/vue.js"></script>
    <script src="js/vue-router.js"></script>
</head>
<body>
    <div id="app">
        <router-link to="/index">首页</router-link>
        <router-link to="/dept">部门</router-link>
        <router-link to="/emp">员工</router-link>

       <!-- // 路由出口-->
        <router-view></router-view>
    </div>

<script type="text/javascript">

    // 1. 定义组件
    var INDEX = Vue.component("index",{template:"<h1>首页</h1>"});
    var EMP = Vue.component("emp",{template:"<h1>员工管理页面</h1>"});
    var DEPT = Vue.component("dept",{template:"<h1>部门管理页面</h1>"});

    // 2. 定义路由
    var routes = [
        {path: "/index",component: INDEX},
        {path: "/dept",component: DEPT},
        {path: "/emp",component: EMP}
    ]

    // 3. 创建路由实例
    var router = new VueRouter({
        routes  //相当于 routes: routes
    });

    new Vue({
        el: "#app",
        data:{},
        // 4. 使用路由
        router    //router: router
    });
</script>

</body>
</html>

4. nodejs和npm

4.1 什么是nodejs和npm?

*Node:是JavaScript的运行时环境*。Node并不是一个新的语言,只是js的一个环境,同样的比如:tomcat。Node为js提供了更强大的操作方式,如:在浏览器中,js是无法操作文件的,而node提供了文件操作。在浏览器中,js无法写服务接口,node提供了后端代码编写的功能(写后台、操作数据库)。尽管如此,Node依然是个前端技术,并不会真正的使用node去写后端代码,*node更多的是给前端项目做配置*,如:跨域代理。

*Npm:npm是node提供的一个包管理工具,类似于maven*。通过npm去安装依赖包,就不需要在页面上使用script标签引入了。 前端也有依赖

命令:-g(globle)全局安装,任何项目都可以用。–save-dev开发环境安装,不会打包到生产。生产安装(默认)

大前端工程: 人家可以使用node js 开发数据接口, 但是nodejs 的速度很差.

4.2 node下载和安装

  • 下载地址: http://nodejs.cn/

  • 安装(略) 不要安装在有中文,特殊字符等目录

  • 测试安装是否成功

    cmd命令 输入 node -v

    cmd命令 输入 npm -v

  • npm镜像加速器配置

    执行命令 :npm config set registry https://registry.npm.taobao.org (过期了,不能用了)

    ​ npm config set registry https://registry.npmmirror.com/ (可以使用,没过期)

    删除淘宝镜像源: npm config delete registry

    查看当前镜像源:npm config get registry

    清缓存命令:npm cache clean --force

    npm 常用命令:

    安装命令: npm install xx 简写成 npm i xx


5. vue-cli 脚手架

5.1. 什么是vue-cli

vue脚手架指的是vue-cli,它是一个专门为单页面应用快速搭建繁杂的脚手架,它可以轻松的创建新的应用程序而且可用于自动生成vue和webpack的项目模板。

vue-cli是有Vue提供的一个官方cli,专门为单页面应用快速搭建繁杂的脚手架。它是用于自动生成vue.js+webpack的项目模板。

5.2. vue-cli安装

全局安装:

npm install -g @vue/cli

5.3. 查看版本信息

vue -V

5.4. 使用vue-cli创建项目

方式很多,我们这里面使用的是命令(idea)

  1. 手动创建: vue create my-project 注意:项目名不能有大写
  2. 使用idea创建: (看视频)
  3. 启动命令: npm run serve
  4. 打包命令: npm run build

单页面组件: 以.vue结尾的文件

三部分:

​ 1. template :编写 html代码

​ 2. script: 编写js代码的

​ 3. style: 编写样式的。

6. elementUi框架

官网地址:https://element.eleme.cn/#/zh-CN/component/installation

使用:

  1. 安装: npm i element-ui -S
  2. 使用

在 main.js 中写入以下内容:

import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import App from './App.vue';

Vue.use(ElementUI);

new Vue({
  el: '#app',
  render: h => h(App)
});

7. axios使用

官网地址: 起步 | Axios中文文档 | Axios中文网 (axios-http.cn)

  • 下载安装

​ npm install axios

  • main.js中配置

    // 引入axios
    import axios from "axios"; // 对vue实例中添加了一个属性xxyy,值为axios
    axios.defaults.baseURL='http://localhost:8081' // 配置axios全局基本路径
    Vue.prototype.$http=axios;
    

8. 视频案例 - springboot+vue前后端案例

点赞关注私信我,免费获取视频—谢谢老铁的支持。

标签:私信,视频,vue,age,js,Vue,npm,组件
From: https://blog.csdn.net/QQ903275718/article/details/142880133

相关文章

  • Vue快速嵌入百度地图,避坑提效指南
    Vue快速嵌入百度地图,避坑提效指南在Vue项目中引用百度地图并没有高德地图那么方便,但是项目要用,这里分享下找到的方法,方便使用到的时候能快速接入,避雷避坑!新建bmap.js文件exportdefault{init:function(){constAK="这里是你申请的百度AK";cons......
  • 基于Node.js+vue钢材销售平台(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于钢材销售平台的研究,现有研究主要以传统销售模式为主,对于利用现代信息技术构建专门的钢材销售平台的研究较少。在国内外,传统钢材销售面临着流程繁琐......
  • 基于Node.js+vue个人理财微服务系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于个人理财微服务系统的研究,现有研究主要集中在传统理财系统的整体架构和功能实现上。在国内外,传统理财系统已经有了较为成熟的开发模式和功能模块,但......
  • 基于Node.js+vue短视频推荐系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景随着互联网的迅速发展,短视频行业蓬勃兴起。关于短视频推荐的研究,现有研究主要以用户行为分析和通用推荐算法为主 1。专门针对短视频这一特殊媒体形式,结......
  • 基于Node.js+vue高中生心理健康管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容选题背景高中生心理健康问题一直是教育领域和社会关注的焦点。随着社会竞争的加剧和学业压力的增大,高中生面临的心理压力也日益增加。近年来,国内外关于高中生心理健......
  • 基于Node.js+vue辅导员职责信息管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容选题背景辅导员职责信息管理系统的设计与开发,旨在提高辅导员工作效率,优化学生管理流程。当前,关于辅导员职责信息管理的研究主要集中在辅导员工作流程的优化、学生信......
  • 【图书介绍】《Spring+Spring MVC+MyBatis从零开始学(视频教学版)(第3版)》
    本书重点基于版本Spring 6.1.10、Spring MVC 6.1.10、MyBatis 3.5.16。详解SSM框架各组件用法及其整合方法,实战新闻发布管理系统、图书管理系统开发。配套示例源码、PPT课件、教学大纲、习题答案、教学视频。内容简介本书全面讲解使用流行轻量级框架SSM(Spring+Spring......
  • Vue2 - 详细实现安装引入百度地图并查询展示周边交通/教育/医疗/商场/生活/娱乐等POI
    前言Vue3版本,请访问在vue2|nuxt2项目开发中,详解高德地图根据当前定位获取周边附近的商圈,vue2高德地图获取周边商圈并将这些地址位置列出来供用户点击跳转和选择,获取当前位置或指定区域周边的交通出行、学校教育、医院诊所、商场购物、生活娱乐、旅游景点、酒店民宿......
  • 【开题报告】基于django+vue汽车维修服务系统(论文+源码)计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着汽车工业的快速发展和私家车保有量的急剧增加,汽车维修服务需求日益旺盛。传统的汽车维修服务模式存在信息不对称、服务流程繁琐、客户......
  • 在Debian系统中安装Vue开发环境
     在Debian系统中安装Vue开发环境,你可以按照以下步骤进行:1.安装Node.js和npmVue.js是基于JavaScript的框架,因此需要先安装Node.js和npm(Node.js的包管理器)。你可以通过以下命令安装:sudoaptupdatesudoaptinstallnodejsnpm2.安装VueCLI 2.安装CLI视图VueCL......