【Vue】Java后端程序员也必须掌握的前端框架(下)(一)

简介: 【Vue】Java后端程序员也必须掌握的前端框架(下)

前言


本文为Vue框架基础知识、语法与使用介绍,Java全栈学习路线可参考:【Java全栈学习路线】最全的Java学习路线及知识清单,Java自学方向指引,内含最全Java全栈学习技术清单~

本文上接:【Vue】Java后端程序员也必须掌握的前端框架(上)


十一、自定义事件内容分发

<div id="app">
<todo>
<todo-title slot="todo-title" v-bind:title="title"></todo-title>
<todo-items slot="todo-items" v-for="{item,index} in todoItems" :item="item" v-bind:index="index" v-on:remove="removeItems(index)" v-bind:key="index"></todo-items>
</todo>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"> </script>
<script>
// 定义一个待办事项的组件
//插槽
Vue.component(‘todo’, {
template:
‘<div>\
<slot name="todo-title"></slot>\
<ul>\
<solt name="todo-items"></solt>\
</ul>\
</div>‘
});
Vue.component(“todo-title”,{
props: [‘title’],
template: ‘<div>{ {title} }</div>‘
});
Vue.component(“todo-items”,{
props: [‘item’,’index’],
//只能绑定当前组件的方法
template: ‘<li>{ {item} }<button @click="remove">删除</button></li>‘,
methods:{
remove:function (index) {
//自定义事件并发
this.$emit(‘remove’, index);
}
}
});
var vm = new Vue({
el:”#app”,
data:{
title:’kaungshen’,
todoItems:[‘狂神说’,’java’]
},
methods: {
removeItems:function (index) {
console.log(“删除了”+this.todoItems[index]+”OK”);
this.todoItems.splice(index,1);
}
}
});
</script>


十二、vue-cli


  • vue-cli 官方提供的一个脚手架,用于快速生成一个 vue 的项目模板


1.安装 vue-cli

cnpm install vue-cli -g
# 测试是否安装成功
# 查看可以基于哪些模板创建 vue 应用程序,通常我们选择 webpack
vue list


2.第一个 vue-cli 应用程序

1、我们新建一个文件夹 vue-cli;
2、创建一个基于 webpack 模板的 vue 应用程序
# 这里的 myvue 是项目名称,可以根据自己的需求起名
vue init webpack myvue
# 一路都选择no即可;
Project name:项目名称,默认 回车 即可
Project description:项目描述,默认 回车 即可
Author:项目作者,默认 回车 即可
Install vue-router:是否安装 vue-router,选择 n 不安装(后期需要再手动添加)
Use ESLint to lint your code:是否使用 ESLint 做代码检查,选择 n 不安装(后期需要再手动添
加)
Set up unit tests:单元测试相关,选择 n 不安装(后期需要再手动添加)
Setup e2e tests with Nightwatch:单元测试相关,选择 n 不安装(后期需要再手动添加)
Should we run npm install for you after the project has been created:创建完成后直接初始
化,选择 n,我们手动执行;运行结果!
初始化并运行
cd myvue
npm install
npm run dev


3.Vue-cli目录结构


build 和 config:WebPack 配置文件

node_modules:用于存放 npm install 安装的依赖文件

src: 项目源码目录

static:静态资源文件

.babelrc:Babel 配置文件,主要作用是将 ES6 转换为 ES5

.editorconfig:编辑器配置

eslintignore:需要忽略的语法检查配置文件

.gitignore:git 忽略的配置文件

.postcssrc.js:css 相关配置文件,其中内部的 module.exports 是 NodeJS 模块化语法

index.html:首页,仅作为模板页,实际开发时不使用

package.json:项目的配置文件

name:项目名称

version:项目版本

description:项目描述

author:项目作者

scripts:封装常用命令

dependencies:生产环境依赖

devDependencies:开发环境依赖


项目的入口文件:


import Vue from ‘vue’
import App from ‘./App’
Vue.config.productionTip = false;
/ eslint-disable no-new /
new Vue({
el: ‘#app’,
components: { App },
template: ‘<App/>‘
});
/*
import Vue from ‘vue’ :ES6 写法,会被转换成 require(“vue”);(require 是 NodeJS 提供的模块加载器)
import App from ‘./App’ :意思同上,但是指定了查找路径,./ 为当前目录
Vue.config.productionTip = false :关闭浏览器控制台关于环境的相关提示
new Vue({…}) :实例化 Vue
el: ‘#app’ :查找 index.html 中 id 为 app 的元素
template: ‘’ :模板,会将 index.html 中替换为
components: { App } :引入组件,使用的是 import App from ‘./App’ 定义的 App 组 件;
*/


App.vue

<template>
<div id="app">
<img src="./assets/logo.png">
<HelloWorld/>
</div>
</template>
<script>
import HelloWorld from ‘./components/HelloWorld’
export default {
name: ‘App’,
components: {
HelloWorld
}
}
</script>
<style>
#app {
font-family: ‘Avenir’, Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
/*
template:HTML 代码模板,会替换 < App /> 中的内容
import HelloWorld from './components/HelloWorld':引入 HelloWorld 组件用于替换 template
中的 < HelloWorld/>
export default{...}:导出 NodeJS 对象,作用是可以通过 import 关键字导入
   name: 'App':定义组件的名称
   components: { HelloWorld }:定义子组件
在hello,Vue中,关于 < style scoped> 的说明:CSS 样式仅在当前组件有效,声明了样式的作用域,
是当前的界面私有的!
*/


十三、Vue的Webpack


安装Webpack


npm install webpack -g
npm install webpack-cli -

测试安装成功


webpack -v
webpack-cli -

使用webpack


1.创建项目

2.创建一个名为modules的目录,用于放置JS模块等资源文件

3.在modules下创建模块文件,如hello.js用于编写JS模块相关代码

如:

/暴露一个方法/

exports.sayHi = function () {
document.write(“<h1>java</h1>“)
}

4.在modules下创建一个名为main.js的入口文件用于打包设置entry属性

如:

var hello = require(“./hello”);
hello.sayHi();

5.在项目目录下创建webpack.config.js配置文件,使用webpack命令打包webpack

6.在主页面引入打包之后的js文件

webpack.config.js模板

module.exports = {
entry:””,//入口文件
output:{//输出,指定WebPack把处理完成的文件放置到指定路径
path:””,
filename:””
},
module:{//模块,用于处理各种类型的文件
loaders:[
{test:/.js$/,loader:””}
]
},
plugins:{},插件,如:热更新,代码重用等
resolve:{},//指定路径指向
watch:true//监听,用于设置文件改动后直接打包
}

十四、vue-router路由


安装


npm install vue-router --save-dev


Vue的原理

1、 components 目录下存放我们自己编写的组件

2、定义组件 Content.vue 组件

    <template> 
        <div> 
            <h1>内容页</h1> 
        </div> 
    </template> 
    <script> 
        export default { 
            name: "Content" 
        }
    </script>

3、安装路由,在src目录下,新建一个文件夹 : router ,专门存放路由,写入 index.js

    import Vue from 'vue' 
    // 导入路由插件 
    import Router from 'vue-router' 
    // 导入上面定义的组件 
    import Content from '../components/Content' 
    // 安装路由 
    Vue.use(Router); 
    // 配置路由 
    export default new Router({ 
        routes: [ 
            { 
                // 路由路径 
                path: '/content', 
                // 路由名称 
                name: 'content', 
                // 跳转到组件 
                component: Content 
            } 
        ] 
    });


4、我们在新建一个 Main.vue 组件

<template> 
    <div> 
        <h1>首页</h1> 
    </div> 
</template> 
<script> 
    export default { 
        name: "Main" 
    }
</script>

5、将Main组件也配置到路由中!

import Main from '../components/Main'
{ 
    // 路由路径 
    path: '/main', 
    // 路由名称 
    name: 'main', 
    // 跳转到组件 
    component: Main 
}

6、在 main.js 中配置路由

import Vue from 'vue' 
import App from './App' 
// 导入上面创建的路由配置目录 
import router from './router' 
Vue.config.productionTip = false 
new Vue({ 
    el: '#app', 
    // 配置路由 
    router, 
    components: { App }, 
    template: '<App/>' 
})

7、在 App.vue 中使用路由

<template> 
    <div id="app"> 
    <router-link to="/main">首页</router-link> 
    <router-link to="/content">内容</router-link> <router-view></router-view> 
    </div> 
</template>

调用过程

main.js–>App.vue
main.js–>index.js(路由设置)
App.vue–>其他按照路由vue
index.js–>引入其他vue
相关文章
|
5月前
|
JavaScript 前端开发 Java
制造业ERP源码,工厂ERP管理系统,前端框架:Vue,后端框架:SpringBoot
这是一套基于SpringBoot+Vue技术栈开发的ERP企业管理系统,采用Java语言与vscode工具。系统涵盖采购/销售、出入库、生产、品质管理等功能,整合客户与供应商数据,支持在线协同和业务全流程管控。同时提供主数据管理、权限控制、工作流审批、报表自定义及打印、在线报表开发和自定义表单功能,助力企业实现高效自动化管理,并通过UniAPP实现移动端支持,满足多场景应用需求。
460 1
|
6月前
|
前端开发 Java 关系型数据库
基于Java+Springboot+Vue开发的鲜花商城管理系统源码+运行
基于Java+Springboot+Vue开发的鲜花商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的鲜花商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。技术学习共同进步
427 7
|
6月前
|
人工智能 算法 Java
后端程序员逆袭之路:巧用 AI 工具,拿下高薪 offer
在技术职场中,后端程序员面临诸多挑战,如复杂业务逻辑、繁琐代码编写与调试及持续学习压力。然而,AI 工具的兴起为后端开发带来了全新机遇。智能代码生成工具如飞算 JavaAI 可高效完成需求分析、设计与代码生成;智能调试工具如 CodeGuru 能快速定位问题;知识学习工具如 ChatGPT 助力技术提升。借助这些工具,后端程序员不仅能显著提高项目质量和效率,还能展示技术前瞻性与学习能力,拓展技能边界,从而在求职市场中脱颖而出,顺利拿下高薪 offer。
|
6月前
|
移动开发 前端开发 JavaScript
Vue与React两大前端框架的主要差异点
以上就是Vue和React的主要差异点,希望对你有所帮助。在选择使用哪一个框架时,需要根据项目的具体需求和团队的技术栈来决定。
369 83
|
6月前
|
前端开发 Java 物联网
智慧班牌源码,采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署
智慧班牌系统是一款基于信息化与物联网技术的校园管理工具,集成电子屏显示、人脸识别及数据交互功能,实现班级信息展示、智能考勤与家校互通。系统采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署与私有化定制。核心功能涵盖信息发布、考勤管理、教务处理及数据分析,助力校园文化建设与教学优化。其综合性和可扩展性有效打破数据孤岛,提升交互体验并降低管理成本,适用于日常教学、考试管理和应急场景,为智慧校园建设提供全面解决方案。
399 70
|
7月前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
310 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
5月前
|
JavaScript 前端开发 编译器
Vue与TypeScript:如何实现更强大的前端开发
Vue.js 以其简洁的语法和灵活的架构在前端开发中广受欢迎,而 TypeScript 作为一种静态类型语言,为 JavaScript 提供了强大的类型系统和编译时检查。将 Vue.js 与 TypeScript 结合使用,不仅可以提升代码的可维护性和可扩展性,还能减少运行时错误,提高开发效率。本文将介绍如何在 Vue.js 项目中使用 TypeScript,并通过一些代码示例展示其强大功能。
216 22
|
7月前
|
人工智能 JavaScript 前端开发
Vue 性能革命:揭秘前端优化的终极技巧;Vue优化技巧,解决Vue项目卡顿问题
Vue在处理少量数据和有限dom的情况下技术已经非常成熟了,但现在随着AI时代的到来,海量数据场景会越来越多,Vue优化技巧也是必备技能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
7月前
|
Java API Docker
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
以上内容是一个简单的实现在Java后端中通过DockerClient操作Docker生成python环境并执行代码,最后销毁的案例全过程,也是实现一个简单的在线编程后端API的完整流程,你可以在此基础上添加额外的辅助功能,比如上传文件、编辑文件、查阅文件、自定义安装等功能。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
|
8月前
|
监控 前端开发 Java
构建高效Java后端与前端交互的定时任务调度系统
通过以上步骤,我们构建了一个高效的Java后端与前端交互的定时任务调度系统。该系统使用Spring Boot作为后端框架,Quartz作为任务调度器,并通过前端界面实现用户交互。此系统可以应用于各种需要定时任务调度的业务场景,如数据同步、报告生成和系统监控等。
279 9