快速上手 Vue 和 Element-UI 组件库_elementui-程序员宅基地

技术标签: spring boot  Springboot和Vue全栈开发  spring cloud  elementui  vue.js  javascript  

 哈喽~大家好,这篇来看看快速上手 Vue 和 Element-UI 组件库。

 个人主页:个人主页​​​​​             

  系列专栏:【微服务】        

与这篇相关的文章:            

SpringCloud Sentinel 使用 SpringCloud Sentinel 使用_程序猿追的博客-程序员宅基地_springcloud使用sentinel
将Nacos注册到springboot使用以及Feign实现服务调用 将Nacos注册到springboot使用以及Feign实现服务调用_程序猿追的博客-程序员宅基地_nacos springboot 服务调用
微服务介绍与 SpringCloud Eureka 微服务介绍与 SpringCloud Eureka_程序猿追的博客-程序员宅基地

号外号外,我最近发现了一个非常棒的人工智能学习网站,它的内容通俗易懂,风趣幽默,让人印象深刻。我想和大家分享这个网站,点击链接即可访问。 

目录

一、前言

1、vue 是什么?

2、什么是MVVM?

二、NPM使用

1、安装 npm 与 vue

三、vue 的使用

1、基本用法

2、内容渲染指令

3、属性绑定指令

4、使用JavaScript表达式

5、事件绑定指令

6、条件渲染指令

7、v-else与v-else-if指令

8、列表渲染指令

9、v-for中的key

四、Vue CLI使用

1、什么是Vue CLI?

2、什么是组件化开发?

3、vue组件的构成

4、使用Vue CLI 创建Vue

5、目录结构

6、自定义标签

五、第三方组件element-ui

1、什么是element-ui?

2、安装

3、引入

4、使用element-ui

5、第三方图标库


一、前言

1、vue 是什么?

vue是一个用于创建用户界面的开源JavaScript框架,也是一个创建单页应用的Web应用框架;Vue所关注的核心是MVC模式中的视图层,同时,它也能方便地获取数据更新,并通过组件内部特定的方法实现视图与模型的交互。

Vue.js提供了MVVM数据绑定和一个可组合的组件系统,具有简单、灵活的API。

其目标是通过尽可能简单的API实现响应式的数据绑定和可组合的视图组件。

2、什么是MVVM?

MVVM是Model-View-ViewModel的缩写,它是一种基于前端开发的架构模式,其核心是提供对View和ViewModel的双向数据绑定。

Vue提供了MVVM风格的双向数据绑定,核心是MVVM中的VM,也就是ViewModel,ViewModel负责连接View和Model,保证视图和数据的一致性。

注:学习vue需要网页三件套的基础(HTML + CSS + JavaScript)

这里我们使用的工具是 VScode ,需要安装的插件是 Vetur

二、NPM使用

1、安装 npm 与 vue

安装 npm 与 vue 可以看看这位大佬的

npm如何安装与配置

三、vue 的使用

1、基本用法

我们采用导入 vue 的脚本文件方法

<script src="https://unpkg.com/vue@next"></script>

声明要被 vue 所控制的 DOM 区域

 <div id="app">
      {
   {message}}
    </div>

创建 vue 的实例对象

 <script>
        const hello = {
            // 指定数据源,既MVVM中的Model
            data: function() {
                return {
                    message: 'Hello Vue!'
                }
            }
        }
        const app = Vue.createApp(hello)
        app.mount('#app')
    </script>

Vue.createApp()

createApp可以分解成create和App来理解,create就是创建的意思,而App指的是Application,也就是应用的意思,那么Vue.createApp()就可以理解成创建一个Vue应用的意思。 createApp()方法会返回一个Vue实例对象。

mount()

mount()是挂载的意思,需要一个字符串型参数参数,写法可以使用css选择器,一般都是使用ID选择器的形式,比如mount("#app"),意思就是将ID为app的节点挂载到Vue上。

测试代码

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <!-- 1. 导入 vue 的脚本文件 -->
    <script src="https://unpkg.com/vue@next"></script>
  </head>
  <body>
​
    <!-- 2. 声明要被 vue 所控制的 DOM 区域 -->
    <div id="app">
      {
   {message}}
    </div>
​
    <!-- 3. 创建 vue 的实例对象 -->
    <script>
    const hello = {
        // 指定数据源,既MVVM中的Model
        data: function() {
            return {
                message: 'Hello Vue!'
            }
        }
    }
    const app = Vue.createApp(hello)
    app.mount('#app')
    </script>
  </body>
</html>
​

效果

2、内容渲染指令

在 data 里面的return 的字段名,通过 { {字段名}} 的方式可以是字段名的内容渲染到标签里面,但如果遇到渲染的内容是个标签呢?

eg:

 <p>{
   {desc}}</p>
      data: function(){ 
        return {
          username: 'zhangsan',
          gender: '男',
          desc: '<a href="http://www.baidu.com">百度</a>'
        }
      }

效果

这肯定不是我们想要的,我们可以用 v-html

代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="https://unpkg.com/vue@next"></script>
</head>
<body>
  <div id="app">
    <!-- <p>姓名:{
   {username}}</p>
    <p>性别:{
   {gender}}</p> -->
​
    <p>{
   {desc}}</p>
    <p v-html="desc"></p>
  </div>
  
​
  <script>
    const vm = {
      data: function(){ 
        return {
          username: 'zhangsan',
          gender: '男',
          desc: '<a href="http://www.baidu.com">百度</a>'
        }
      }
    }
    const app = Vue.createApp(vm)
    app.mount('#app')
  </script>
</body>
</html>

效果

3、属性绑定指令

vue中,属性加不加冒号的区别?

加冒号:表示后边是一个变量,或者是一个表达式

不加冒号:表示后边是一个字符串字面量

Tips ① (:)是(v-bind:)的简写,v-bind是vue用来绑定属性的,属于vue的基础知识——模板语法 > > > 指令 > > > v-bind,详见官网 ② 指令 (Directives) 是带有 v- 前缀的特殊 attribute。除v-for外,其余attribute的预期值是一个js表达式

测试代码

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="https://unpkg.com/vue@next"></script>
  </head>
  <body>
    <div id="app">
      <a :href="link">百度</a>
      <input type="text" :placeholder="inputValue">
      <img :src="imgSrc" :style="{width:w}" alt="">
    </div>

    <script>
      const vm = {
          data: function(){
            return {
              link:"http://www.baidu.com",
              // 文本框的占位符内容
              inputValue: '请输入内容',
              // 图片的 src 地址
              imgSrc: './images/demo.png',
              w:'500px'
          }
        }
      }
      const app = Vue.createApp(vm)
      app.mount('#app')
    </script>
  </body>
</html>

效果

4、使用JavaScript表达式

JavaScript表达式有基本数据的直接量,有数组初始化表达式,有对象初始化表达式,有成员访问表达式,属性访问表达式等等。

直接看代码

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="https://unpkg.com/vue@next"></script>
  </head>
  <body>
    <!-- vue 实例要控制的 DOM 区域 -->
    <div id="app">
      <p>{
   {number + 1}}</p>
      <p>{
   {ok ? 'True' : 'False'}}</p>
      <p>{
   {message.split('').reverse().join('')}}</p>
      <p :id="'list-' + id">xxx</p>
      <p>{
   {user.name}}</p>
    </div>
​
    <script>
      const vm = {
        data: function(){
          return {
            number: 9,
            ok: false,
            message: 'ABC',
            id: 3,
            user: {
              name: 'itxzw',
            }
          }
        }
      }
      const app = Vue.createApp(vm)
      app.mount('#app')
    </script>
  </body>
</html>
​

效果

5、事件绑定指令

在vue里面点击事件可以用v-on:click或@click来进行绑定某函数

示例代码

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="https://unpkg.com/vue@next"></script>
  </head>
  <body>
    <div id="app">
      <h3>count 的值为:{
   {count}}</h3>
      <button v-on:click="addCount">+1</button>
      <button @click="count+=1">+1</button>
      <button @click="count-=1">-1</button>
    </div>
​
    <script>
      const vm = {
        data: function(){
          return {
            count: 0,
          }
        },
        methods: {
          // 点击按钮,让 count 自增 +1
          addCount() {
            this.count += 1
          },
        },
      }
      const app = Vue.createApp(vm)
      app.mount('#app')
    </script>
  </body>
</html>

效果

6、条件渲染指令

条件指令就像if else这样的了

代码

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    
    <script src="https://unpkg.com/vue@next"></script>
​
  </head>
  <body>
    <div id="app">
      <button @click="flag = !flag">Toggle Flag</button>
​
      <p v-if="flag">请求成功 --- 被 v-if 控制</p>
      <p v-show="flag">请求成功 --- 被 v-show 控制</p>
    </div>
​
​
    <script>
      const vm = {
        data: function(){
          return {
            flag: false,
          }
        }
      }
      const app = Vue.createApp(vm)
      app.mount('#app')
    </script>
  </body>
</html>

v-if 与 v-show 的区别

隐藏状态下,v-if 是直接没有了,而 v-show 是 display: none;

7、v-else与v-else-if指令

其实就是我们学的if else

代码

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="https://unpkg.com/vue@next"></script>
​
  </head>
  <body>
    <div id="app">
      <p v-if="num > 0.5">随机数 > 0.5</p>
      <p v-else>随机数 ≤ 0.5</p>
      <hr />
      <p v-if="type === 'A'">优秀</p>
      <p v-else-if="type === 'B'">良好</p>
      <p v-else-if="type === 'C'">一般</p>
      <p v-else>差</p>
​
      <div v-show="a"> 
        测试
      </div>
      <button @click="!a">点击</button>
    </div>
​
    <script>
      const vm = {
        data: function(){
          return {
            // 生成 1 以内的随机数
            num: Math.random(),
            // 类型
            type: 'A',
            a : false 
          }
        },
        methods:{
​
          f:function(){
            this.a = !this.a
          }
​
        }
      }
      const app = Vue.createApp(vm)
      app.mount('#app')
    </script>
  </body>
</html>
​

效果

8、列表渲染指令

v-for 使用的是增强for循环

代码

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="https://unpkg.com/vue@next"></script>
​
  </head>
  <body>
    <div id="app">
      <ul>
        <li v-for="(user, i) in userList">索引是:{
   {i}},姓名是:{
   {user.name}}</li>
      </ul>
    </div>
​
    <script>
      const vm = {
        data: function(){
          return {
            userList: [
              { id: 1, name: 'zhangsan' },
              { id: 2, name: 'lisi' },
              { id: 3, name: 'wangwu' },
            ],
          }
        },
      }
      const app = Vue.createApp(vm)
      app.mount('#app')
    </script>
  </body>
</html>
​

效果

9、v-for中的key

代码

<!DOCTYPE html>
<html lang="en">
​
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="https://unpkg.com/vue@next"></script>
​
</head>
​
<body>
  <div id="app">
​
    <!-- 添加用户的区域 -->
    <div>
      <input type="text" v-model="name">
      <button @click="addNewUser">添加</button>
    </div>
​
    <!-- 用户列表区域 -->
    <ul>
      <li v-for="(user, index) in userlist" :key="user.id">
        <input type="checkbox" />
        姓名:{
   {user.name}}
      </li>
    </ul>
  </div>
​
  <script>
    const vm = {
      data: function(){
        return {
          // 用户列表
          userlist: [
            { id: 1, name: 'zhangsan' },
            { id: 2, name: 'lisi' }
          ],
          // 输入的用户名
          name: '',
          // 下一个可用的 id 值
          nextId: 3
        }
      },
      methods: {
        // 点击了添加按钮
        addNewUser() {
          this.userlist.unshift({ id: this.nextId, name: this.name })
          this.name = ''
          this.nextId++
        }
      }
    }
    const app = Vue.createApp(vm)
    app.mount('#app')
  </script>
</body>
​
</html>

效果

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

pop() 方法数组最后一位元素删除并返回数组的最后一个元素。

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

splice(index,howmany,item1, …, itemX) 方法向/从数组中添加/删除项目,然后返回被删除的项目 第一个参数:表示从哪个索引位置(index)添加/删除元素 第二个参数:要删除的项目数量。如果设置为 0,则不会删除项目。 第三个参数:可选。向数组添加的新项目。

sort() 方法对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

concat() 方法用于连接两个或多个数组。

slice() 方法可从已有的数组中返回选定的元素。

split() 方法用于把一个字符串分割成字符串数组。

四、Vue CLI使用

1、什么是Vue CLI?

Vue CLI是Vue官方提供的构建工具,通常称为脚手架。

用于快速搭建一个带有热重载(在代码修改后不必刷新页面即可呈现修改后的效果)及构建生产版本等功能的单页面应用。

Vue CLI基于 webpack 构建,也可以通过项目内的配置文件进行配置。

2、什么是组件化开发?

组件(Component)是Vue.js最强大的功能之一。组件可以扩展HTML元素,封装可重用的代码。

Vue的组件系统允许我们使用小型、独立和通常可复用的组件构建大型应用。

3、vue组件的构成

Vue 中规定组件的后缀名是 .vue

每个 .vue 组件都由 3 部分构成,分别是

template,组件的模板结构,可以包含HTML标签及其他的组件

script,组件的 JavaScript 代码

style,组件的样式

4、使用Vue CLI 创建Vue

打开要创建的文件目录

打开cmd 使用 vue create 项目名指令

选择第三个,敲回车

取消 Linter / Formatter ,按空格取消,回车下一步

选择版本号,这里我们用2.0

 使用json风格

 不使用快照

 正在创建

 以创建ok

 使用 vscode 打开

5、目录结构

“assets”: 共用的样式、图片

“components”: 业务代码存放的地方,里面分成一个个组件存放,一个页面是一个组件,一个页面里面还会包着很多组件

“router”: 设置路由

“App.vue”: vue文件入口界面

“main.js:对应App.vue 创建vue实例,也是入口文件,对应webpack.base.config.js里的入口配置

static 文件夹:

存放的文件不会经过webpack处理,可以直接引用,例如swf文件如果要引用可以在webpack配置对swf后缀名的文件处理的loader,也可以直接将swf文件放在这个文件夹引用

package.json:

这个文件有两部分是有用的:scripts 里面设置命令,例如设置了dev用于调试则我们开发时输入的是 npm run dev ;例如设置了build 则是输入 npm run build 用于打包;另一部分是这里可以看到我们需要的依赖包,在dependencies和devDependencies中,分别对应全局下载和局部下载的依赖包

vscode 打开控制台,使用命令 npm run serve 运行,

访问路径:http://localhost:8080/

效果

Hellow.vue 代码

<template>
    <h1>Hellow Vue</h1>
</template>
​
<script>
​
</script>
​
<style>
​
</style>

App.vue 将 Hellow.vue 代码导入进来,并起一个别名

import hellow from './components/Hellow.vue'

并注册到组件里面,这就是自定义标签

export default {
  name: 'App',
  components: {
    hellow
  }
}
<template>
  <img alt="Vue logo" src="./assets/logo.png">
  <hellow></hellow>
</template>

思路有点像套娃行为

6、自定义标签

新建一个Movie.vue,代码如下

<template>
    <div>
        <h1>{
   {title}}</h1>
        <span>{
   {rating}}</span>
        <button @click="fun">点击</button>
    </div>
</template>
​
<!-- props 自定义属性,可以在外部使用自定义的名称,不需要导入的方式来进行套娃 -->
<script>
export default {
    name: "Movic",
    props:["title","rating"],
    data: function(){
        return{
​
        }
    },
    methods: {
        fun(){
            alert("我被点击了")
        }
    }
}
</script>

App.vue 代码

<template>
  <div id="app">
    <Movie v-for= "movie in movies" :key="movie.id" :title="movie.title" :rating="movie.rating"></Movie>
    <Hello></Hello>
  </div>
</template>
​
<script>
import Movie from "./components/Movie.vue"
import Hello from "./components/Hello.vue"
​
export default {
  name: 'App',
  data: function(){
      return {
        movies: [
              {id:1, title: "666", rating: 6},
              {id:2, title: "777", rating: 7},
              {id:3, title: "888", rating: 8},
          ]
      }
    },
    components: {
        Movie,
        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>
​

效果

五、第三方组件element-ui

1、什么是element-ui?

element-ui是由饿了么前端团队推出的一套为开发者、设计师和产品经理准备的基于Vue.js 2.0的桌面组件库,而手机端有对应框架是 Mint UI 。整个ui风格简约,很实用,同时也极大的提高了开发者的效率,是一个非常受欢迎的组件库。

官网地址

2、安装

推荐使用npm安装方式

npm install element-ui -save

3、引入

全局引入,在vue入口main.js中增加内容如下

import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
​
Vue.use(ElementUI);

局部引入,在指定的vue文件中引入所需要的组件或主题样式,如下

 import '@/style/theme/element-variables.scss'
 import { Message, MessageBox, Loading } from  'element-ui'
    Vue.use(Loading.directive) 
    Vue.prototype.$loading = Loading.service 
    Vue.prototype.$msgbox = MessageBox 
    Vue.prototype.$alert = MessageBox.alert 
    Vue.prototype.$confirm = MessageBox.confirm 
    Vue.prototype.$prompt = MessageBox.prompt 
    Vue.prototype.$message = Message

4、使用element-ui

打开官网,在组件里面选择要使用的代码直接cv大法

Hallow.vue代码

<template>
<div>
    <el-table
    :data="tableData"
    style="width: 100%"
    :row-class-name="tableRowClassName">
    <el-table-column
      prop="date"
      label="日期"
      width="180">
    </el-table-column>
    <el-table-column
      prop="name"
      label="姓名"
      width="180">
    </el-table-column>
    <el-table-column
      prop="address"
      label="地址">
    </el-table-column>
  </el-table>
  <i class="fa fa-camera-retro fa-lg"></i> fa-lg
</div>
</template>
​
<!-- props 自定义属性,可以在外部使用自定义的名称,不需要导入的方式来进行套娃 -->
<script>
export default {
    name: "Hello",
    data: function(){
        return {
        tableData: [{
          date: '2016-05-02',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1518 弄',
        }, {
          date: '2016-05-04',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1518 弄'
        }, {
          date: '2016-05-01',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1518 弄',
        }, {
          date: '2016-05-03',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1518 弄'
        }]
      }
    },
    methods: {
      tableRowClassName({row, rowIndex}) {
        if (rowIndex === 1) {
          return 'warning-row';
        } else if (rowIndex === 3) {
          return 'success-row';
        }
        return '';
      }
    }
}
</script>
​
<style>
  .el-table .warning-row {
    background: oldlace;
  }
​
  .el-table .success-row {
    background: #f0f9eb;
  }
</style>

效果

5、第三方图标库

由于Element UI提供的字体图符较少,一般会采用其他图表库,如著名的Font Awesome

Font Awesome提供了675个可缩放的矢量图标,可以使用CSS所提供的所有特性对它们进行更改,包括大小、颜色、阴影或者其他任何支持的效果。

文档地址:Font Awesome,一套绝佳的图标字体库和CSS框架

安装:npm install font-awesome

使用:import 'font-awesome/css/font-awesome.min.css'

也是一样的,直接cv大法

这里我是用了这行代码

  <i class="fa fa-camera-retro fa-lg"></i>

页面效果

不积跬步无以至千里,趁年轻,使劲拼,给未来的自己一个交代!向着明天更好的自己前进吧!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/aasd23/article/details/128373947

智能推荐

点云配准经典算法ICP复现 C++ Win10 pcl1.11.1_method for registration of 3-d shapes-程序员宅基地

文章浏览阅读1.7k次,点赞4次,收藏25次。背景ICP算法是点云配准(registration)领域的主流算法,在学习过程中我尝试使用C++复现了ICP算法。我参考的是经典ICP论"P. Besl, N. McKay. ‘A Method for Registration of 3-D Shapes,’ IEEE Trans. on Pattern Analysis and Machine Intel., vol. 14, no. 2, pp. 239-256,1992"。建议论文和代码搭配阅读。环境windows10 + pcl1.11.1_method for registration of 3-d shapes

springmvc的前端控制器对css、js等进行过滤_spring 过滤js代码-程序员宅基地

文章浏览阅读3.7k次。web.xml配置如下: springm_spring 过滤js代码

游戏中任务系统设计_游戏任务种类-程序员宅基地

文章浏览阅读8.5k次,点赞2次,收藏17次。1、任务分类 游戏中任务可以分为主线任务、支线任务、日常任务、周任务、节日活动任务,其中周任务和节日任务可以根据设定的日期进行开启关闭,属于重复性任务。2、游戏条件 各类任务开启条件:1、玩家等级 2、玩家攻击力3、前置任务等等 完成条件:玩家进行任务进度是否达成 任务关闭:1、玩家领取奖励后关闭任务。2、时间过期3..._游戏任务种类

ACM / ICPC 在线OJ(Online judge)_清华大学 acm网站-程序员宅基地

文章浏览阅读6.4k次,点赞8次,收藏35次。1. codeforces codeforces(这个网站每天会有比赛,一起打CF吧!)http://codeforces.com/problemset2. topcoder:http://www.topcoder.com/challenges/3. kattis 这个网站有历年的ICPC真题 https://open.kattis.com/4. 洛谷:..._清华大学 acm网站

基于语法-CreateFile_::createfilea中文打不开-程序员宅基地

文章浏览阅读599次。可行1:当E:\\a.txt 已经存在,且程序字符=Unicode的时候,下面代码可以正常#include <iostream>#include <windows.h>int main(){ HANDLE hFILE = (HANDLE)CreateFile(L"E:\\a.txt", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, NULL, NULL); if (hFILE == INVALID__::createfilea中文打不开

数据库的四种安装部署方式_数据库部署-程序员宅基地

文章浏览阅读6.6k次,点赞2次,收藏13次。数据库安装文章目录数据库安装@[toc]实验环境方式1:使用MySQL仓库来安装部署MySQL一、添加MySQL仓库二、禁用默认的MySQL模块三、安装装MySQL四、启动MySQL服务器五、服务确认方式2:离线安装MySQL一、使用以下执行清理之前实验MySQL仓库安装的数据库:二、网上下载mysql的安装包三、将下载好的文件传入Redhat中的某个路径中四、解压安装包五、使用以下指令安装方式3:使用Docker部署MySQL一、准备Docker环境二、下载MySQL服务器Docker映像三、启动M._数据库部署

随便推点

骨架提取之AdaLSN_线性跨度网络-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏10次。paper:https://arxiv.org/pdf/2011.03972.pdfcode:https://github.com/sunsmarterjie/SDL-Skeleton摘要传统的物体骨架检测网络通常是手工制作的。 虽然有效,但它们需要密集的先验知识来为不同粒度的对象配置具有代表性的特征。 本文提出了自适应线性跨度网络(AdaLSN),在神经架构搜索(NAS)的驱动下,自动配置和集成目标骨架检测的尺度感知特征。AdaLSN是用线性跨度理论建立的,它为多尺度深度特征融合提供了最早的解释之一_线性跨度网络

python的内存管理机制_python 创建金字塔 显示大内存图片-程序员宅基地

文章浏览阅读662次。python的内存管理机制先从较浅的层面来说,Python的内存管理机制可以从三个方面来讲(1)垃圾回收(2)引用计数(3)内存池机制一、垃圾回收:python不像C++,Java等语言一样,他们可以不用事先声明变量类型而直接对变量进行赋值。对Python语言来讲,对象的类型和内存都是在运行时确定的。这也是为什么我们称Python语言为动态类型的原因(这里我们把动态类型可以简单的归结为对变量内存地址_python 创建金字塔 显示大内存图片

Qt多语言支持_qt translate file语言选什么-程序员宅基地

文章浏览阅读547次。试用QT中的多语言翻译基本原理:为了在使用多语言,必须做两件事情:1,把想要翻译的字符串放入tr()中,如 QString str=tr("Legal");2, 在开始的时候载入预先制作好的翻译文件(.qm)。以下利用Qt提供的工具,把翻译文件制作出来,并在程_qt translate file语言选什么

Atitit 性能指标与性能提升的5个原则与性能提升模型_升级性能指标-程序员宅基地

文章浏览阅读433次。Atitit 性能指标与性能提升的5个原则与性能提升模型 1. 性能的几个指标主要是响应时间(Response time) 2.吞吐量(Throughput)12. 性能提升的5个原则与性能提升模型 22.1. 分类优先级,与分区域,减少要操作或提取的内容与范围 22.2. div分而治之 聚沙成塔 分布式并发 22.3. 大力提升单体处理能力 22.4. _升级性能指标

华为电视鸿蒙安装第三方软件,新款华为智慧屏如何安装第三方软件?最详细的安装教程详解...-程序员宅基地

文章浏览阅读5.3k次。12月17日,华为终端官方微博公布了新品信息,预告新款华为智慧屏将于12月21日下午14时的华为全屋智能及智慧屏新品发布会上正式亮相。华为智慧屏宣传海报文案透露出此次新款华为智慧屏将在语音及智能交互上带来惊喜体验。且在此之前,华为消费者业务IoT产品线总裁支浩曾透露发布于年底的全新华为智慧屏系列将定位大众娱乐。另外,随着鸿蒙系统2.0的升级,华为智慧屏系列也正式成为首批搭载鸿蒙2.0的终端产品。根..._华为电视安装第三方软件

JAVA中创建的redis对象_详解Java在redis中进行对象的缓存-程序员宅基地

文章浏览阅读179次。详解Java在redis中进行对象的缓存发布时间:2020-08-30 07:16:04来源:脚本之家阅读:110作者:pj小小码农Java在redis中进行对象的缓存一般有两种方法,这里介绍序列化的方法,个人感觉比较方便,不需要转来转去。一、首先,在存储的对象上实现序列化的接口package com.cy.example.entity.system;import java.util.List;i..._java redis设置person对象

推荐文章

热门文章

相关标签