1天搞定SpringBoot+Vue全栈开发 (6)组件化开发

简介: 1天搞定SpringBoot+Vue全栈开发 (6)组件化开发

1.NPM使用

ffc9a6a211fc4bf180c3f37236f96559.jpg

2a44ed36820e404f938562644fa0dc6c.jpg

2ae667cf704646ee88acd5d5f8d9e595.jpg

2.Vue CLI使用

e5c9a6ae0951414fa76a1e5eebfda8dd.jpg

ea090c1d4f6e4df68e811a0b6cdeeea8.jpg

cb909c24b47d40679ed3e4476c3f2b0f.jpg

8d5b306f80e3459b89f61810b96ae206.jpg

79a89063cb884317ba066b80c05a3a6d.jpg

248a4fd5a4b44da8afb58698dc15ad96.jpg

3.组件化开发

b610050d819f4f8cb1b84cfcd64601b5.jpg

679733b1b60e45019c838f8ff7dbcb2d.jpg

修改App.vue:

<template>
  <img alt="Vue logo" src="./assets/logo.png" />
  <Hello></Hello>
</template>
 
<script>
import Hello from "./components/Hello.vue";
 
export default {
  name: "App",
  components: {
    Hello,
  },
};
</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>
 


Components里添加Hello.vue

<template>
    <h1>hello</h1>
</template>
<script>
</script>
<style></style>


测试:(可以复用组件Hello,输出多个“hello“)

1b0c27ade22c48e6bd9c93e786ea7746.jpg

3.1第三方组件element-ui

8d70cd8225134f6aa659009f3a6df127.jpg

创建vue2项目

Vue create component-demo

8b78d297bc5b47c19c3ce1c4548c5998.jpg

App.vue:

<template>
  <div id="app">
    <Movie></Movie>
  </div>
</template>
 
<script>
import Movie from "./components/Movie.vue";
 
export default {
  name: "App",
  components: {
    Movie,
  },
};
</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>


Movie.vue:

<template>
  <div>
    <h1>金刚狼</h1>
  </div>
</template>
 


测试:

ebb9873479e84e51a7876741b7d12348.jpg

或者Movie.vue:

<template>
  <div>
    <h1>{{ title }}</h1>
  </div>
</template>
 
<script>
export default {
  name: "Movie",
  data: function () {
    return {
      title: "金刚狼",
    };
  },
};
</script>


9ff4f02708b840d7b03cf9121963a38c.jpg

或者Movie.vue:

<script>
export default {
  name: "Movie",
  props: ["title"], //App.vue传递title(金刚狼)
  data: function () {
    return {};
  },
};
</script>


App.vue:

<template>
  <div id="app">
    <Movie title="金刚狼3"></Movie>
  </div>
</template>


3798fb08ce754444ab780479e81331af.jpg

多个元素:

Movie.vue:

<template>
  <div>
    <h1>{{ title }}</h1>
    <span>{{ rating }}</span>
  </div>
</template>
 
<script>
export default {
  name: "Movie",
  props: ["title", "rating"], //App.vue传递title(金刚狼)
  data: function () {
    return {};
  },
};
</script>


App.vue:

<template>
  <div id="app">
    <Movie title="金刚狼3" rating="9.0"></Movie>
  </div>
</template>


d22bcddf66304aabb939b4c42ffb3812.jpg

一个movie组件:

Movie.vue:

<template>
  <div>
    <h1>{{ title }}</h1>
    <span>{{ rating }}</span>
    <button @click="funSc">点击收藏</button>
  </div>
</template>
<script>
export default {
  name: "Movie",
  props: ["title", "rating"],
  data: function () {
    return {};
  },
  methods: {
    funSc() {
      alert("收藏成功");
    },
  },
};
</script>


App.vue:

<template>
  <div id="app">
    <Movie
      v-for="movie in movies"
      :key="movie.id"
      :title="movie.title"
      :rating="movie.rating"
    ></Movie>
  </div>
</template>
 
<script>
import Movie from "./components/Movie.vue";
 
export default {
  name: "App",
  data: function () {
    return {
      movies: [
        { id: 1, title: "金刚狼1", rating: 9.1 },
        { id: 2, title: "金刚狼2", rating: 9.2 },
        { id: 3, title: "金刚狼3", rating: 9.3 },
      ],
    };
  },
  components: {
    Movie,
  },
};
</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>


测试

2ed68b37193c4b2fa9e674abdc7f7231.jpg

92ac62c80c914323a5d23228b797695b.jpg

3.2.element-ui介绍

a1bcf24f5287491f8ab0a754458a8307.jpg

3.3组件的使用

安装:npm i element-ui -S

可以在https://element.eleme.cn/查询组件并运用到自己的项目中

注意!:因为package.json保存了所有依赖,所有也可以删除node_modules和package-lock.json,再使用npm install下载所有依赖,再使用npm run serve运行。


3.4图标的使用

f2ece76eda414283ad261628b7ff7761.jpg

https://fontawesome.dashgame.com/

相关文章
|
24天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue实现的留守儿童爱心网站设计与实现(计算机毕设项目实战+源码+文档)
博主是一位全网粉丝超过100万的CSDN特邀作者、博客专家,专注于Java、Python、PHP等技术领域。提供SpringBoot、Vue、HTML、Uniapp、PHP、Python、NodeJS、爬虫、数据可视化等技术服务,涵盖免费选题、功能设计、开题报告、论文辅导、答辩PPT等。系统采用SpringBoot后端框架和Vue前端框架,确保高效开发与良好用户体验。所有代码由博主亲自开发,并提供全程录音录屏讲解服务,保障学习效果。欢迎点赞、收藏、关注、评论,获取更多精品案例源码。
59 10
|
24天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue实现的家政服务管理平台设计与实现(计算机毕设项目实战+源码+文档)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
43 8
|
24天前
|
JavaScript 搜索推荐 Java
基于SpringBoot+Vue实现的家乡特色推荐系统设计与实现(源码+文档+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
53 8
|
24天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生就业服务平台设计与实现(系统源码+文档+数据库+部署等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
62 6
|
24天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue实现的高校食堂移动预约点餐系统设计与实现(源码+文档+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
66 3
|
24天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生体质测试管理系统设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
36 2
|
24天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的冬奥会科普平台设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
40 0
|
JavaScript Java Maven
Spring-boot整合vue遇到的坑
spring-boot整合vue遇到的坑
8792 0
|
4月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
256 1
|
24天前
|
JavaScript Java 测试技术
基于Java+SpringBoot+Vue实现的车辆充电桩系统设计与实现(系统源码+文档+部署讲解等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
55 6