vue项目中所使用的element-UI / echarts

在这里插入图片描述
高清版思维导图见后台管理项目地址

1.login登录页面

< el-form >表单

在 Form 组件中,每一个表单域由一个 Form-Item 组件构成,表单域中可以放置各种类型的表单控件,包括 Input、Select、Checkbox、Radio、Switch、DatePicker、TimePicker
Form 组件提供了表单验证的功能,只需要通过 rules 属性传入约定的验证规则,并将 Form-Item 的 prop 属性设置为需校验的字段名即可。


<el-form 
label-position="top"  --【 对齐方式 (顶部对齐)  登录-换行-input的形式】
label-width="80px"  -- 【表单域标签的宽度。作为 Form 直接子元素的 form-item 会继承该值。支持 auto】
:model="formdata"  -- 【双向数据绑定,表单数据对象】
class="login-form" 
:rules="rules"  -- 【表单验证规则
ref="formdata" -- 【vue操作dom元素】
><el-form-item label="用户名"  -- 【label是form-item的属性】prop="username" -- 【设置为需校验的字段名】><el-inputv-model="formdata.username"placeholder="请输入一个美丽的用户名"prefix-icon="el-icon-s-custom"></el-input></el-form-item><el-form-item label="密码" prop="password"><el-input v-model="formdata.password" type="password"placeholder="请输入密码"prefix-icon="el-icon-s-goods" -- 【input标签内使用图标】show-password --【可显示密码】></el-input></el-form-item>
</el-form>

2.主页home页面

2.1< el-container > 布局容器

用于布局的容器组件,方便快速搭建页面的基本结构:

< el-container>:外层容器。当子元素中包含 或 时,全部子元素会垂直上下排列,否则会水平左右排列。

< el-header>:顶栏容器。

< el-aside>:侧边栏容器。

< el-main>:主要区域容器。

< el-footer>:底栏容器。

以上组件采用了 flex 布局,使用前请确定目标浏览器是否兼容。此外,< el-container> 的子元素只能是后四者,后四者的父元素也只能是 < el-container>。

<el-container><el-header>Header</el-header><el-container><el-aside width="200px">Aside</el-aside><el-main>Main</el-main></el-container>
</el-container>

2.2 Layout 布局

通过基础的 24 分栏,迅速简便地创建布局。
用于< el-header>

<el-row><el-col :span="4" -- 【栅格占据的列数】> </el-col><el-col :span="16"></el-col><el-col :span="4"></el-col>
</el-row>

因此登录页面的【登录】【重置】按钮应使用layout布局

<el-row 
justify="center" -- 【flex 布局下的水平排列方式】
type="flex" -- 【布局模式,可选 flex,现代浏览器下有效】
><el-button type="primary" class="login-btn" @click="handleLogin('formdata')" >登录</el-button><el-button @click="resetForm('formdata')" type="info" class="login-btn" >重置</el-button>
</el-row>

2.3 < el-menu>导航菜单-侧栏

  1. 导航菜单默认为垂直模式,通过mode属性可以使导航菜单变更为水平模式。另外,在菜单中通过submenu组件可以生成二级菜单。Menu 还提供了background-color、text-color和active-text-color,分别用于设置菜单的背景色、菜单的文字颜色和当前激活菜单的文字颜色。
  2. 通过el-menu-item-group组件可以实现菜单进行分组,分组名可以通过title属性直接设定,也可以通过具名 slot 来设定。-- 在项目中未用到,因为菜单是动态生成而非一一列举的,
<el-aside class="aside" width="200px"><el-col :span="24"><el-menudefault-active="2" -- 【当前激活菜单的 index】class="el-menu-vertical-demo"@open="handleOpen"@close="handleClose"background-color="teal"text-color="#fff"active-text-color="#ffff33":unique-opened= true -- 【是否只保持一个子菜单的展开】:router= true -- 【是否使用 vue-router 的模式,启用该模式会在激活导航时以 index 作为 path 进行路由跳转】><el-submenu  -- 【启用二级菜单】:index="item1.order.toString()"  -- 【渲染一级菜单,index1~5】v-for="(item1,i) in menus" :key="item1.id"><template slot="title"> -- 【↖一级菜单】<i :class="iconlist[i]"></i><span>{{item1.authName}}</span></template><el-menu-item  -- 【二级菜单】:index="item2.path" v-for="item2 in item1.children" :key="item2.id"><i class="el-icon-menu"></i><span>{{item2.authName}}</span></el-menu-item></el-submenu></el-menu></el-col>
</el-aside>

2.4< el-main>

<el-main class="main"><router-view></router-view>
</el-main>

2.5 < el-card>

将信息聚合在卡片容器中展示。

3. < el-main>–users/goods 用户/商品列表页面

3.1 面包屑

为了可复用,自定义组件 src/components/cuscom/myBread.vue

通过Prop向子组件传递数据
Vue 的组件作用域都是孤立的,不允许在子组件的模板内直接引用父组件的数据。必须使用特定的方法才能实现组件之间的数据传递。
所有的 prop 都使得其父子 prop 之间形成了一个单向下行绑定:父级 prop 的更新会向下流动到子组件中,但是反过来则不行.当然对 props 传递的参数应该添加一些验证规则;当 prop 验证失败的时候,(开发环境构建版本的) Vue 将会产生一个控制台的警告。

子组件:
<template><!-- 面包屑 --><el-breadcrumb separator-class="el-icon-arrow-right"><el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item><el-breadcrumb-item>{{level1}}</el-breadcrumb-item><el-breadcrumb-item>{{level2}}</el-breadcrumb-item></el-breadcrumb>
</template>
<script>
export default {props: ['level1', 'level2'],name: 'my-bread'
}
</script>
父组件:
<my-bread level1="商品管理" level2="商品列表"></my-bread>

3.2 搜索框

< el-input>

3.3 < el-table>列表

<el-table 
:data="userlist" 
height="450" 
border style="width: 100%;margin-top: 15px"
><el-table-column type="index" -- 【对应列的类型。如果设置了 selection 则显示多选框;如果设置了 index 则显示该行的索引(从 1 开始计算);如果设置了 expand 则显示为一个可展开的按钮】prop="id" -- 【对应列内容的字段名,表格使用在于数据配置】label="序号"width="50"></el-table-column><el-table-column prop="userlist" label="创建日期"><template slot-scope="userlist">{{userlist.row.create_time | fmtdate}}</template></el-table-column>
</el-table>

3.3.1 el-switch状态开关

<el-switch v-model="userlist.row.mg_state" active-color="#13ce66" inactive-color="#ff4949" @change="changeState(userlist.row)">
</el-switch>

3.3.2 按钮el-button中使用icon

使用type、plain、round和circle属性来定义 Button 的样式。

<el-buttontype="danger"icon="el-icon-delete"size="small"circle @click="delUser(userlist.row.id)"></el-button>

3.3.3 表格 - 展开行

通过设置 type=“expand” 和 Scoped slot 可以开启展开行功能,el-table-column 的模板会被渲染成为展开行的内容,展开行可访问的属性与使用自定义列模板时的 Scoped slot 相同。

角色列表展开效果:
在这里插入图片描述
!注意以下几个el-table-column都是并列关系,展开内容就像是新增一列,但是现实效果展开后表头的下方。

<el-table :data="roleList" height="450" border style="width: 100%;margin-top: 15px"><el-table-column type="expand" prop="roleList">... 这里面是要展开的内容...</el-table-column><el-table-column type="index" prop="id" label="序号" width="80"></el-table-column><el-table-column prop="roleName" label="角色名称" width="180"></el-table-column>
</el-table>

3.3.4 tag标签

这里比较难的是结构
在这里插入图片描述

<el-table-column type="expand" prop="roleList"><template  slot-scope = "scope"><!-- 一级 一行两列 --><span v-if="scope.row.children.length===0">该角色无权限</span><el-row v-for="(item1,i) in scope.row.children" :key="i"><!-- 第一列中放一级标签 --><el-col :span="4"><!-- 可移除标签,这里展示一级标签,绑定取消权限方法 --><el-tag closable @close="delRight(item1.id,scope.row)">{{item1.authName}}</el-tag></el-col><el-col :span="20"><!-- 第二列也是一行两列 --><el-row v-for="(item2,index) in item1.children" :key="index"><!-- 第二行第一列中放二级标签 --><el-col :span="4"><el-tag type="success" closable @close="delRight(item2.id,scope.row)">{{item2.authName}}</el-tag></el-col><el-col :span="20"><el-tag @close="delRight(item3.id,scope.row)" closable type="warning" v-for="(item3,indexInner) in item2.children" :key="indexInner">{{item3.authName}}</el-tag></el-col></el-row></el-col></el-row></template>
</el-table-column>

3.3.5 表格流体高度(滚动条)

通过设置max-height属性为 Table 指定最大高度。此时若表格所需的高度大于最大高度,则会显示一个滚动条。

3.3.6 Tree树形控件

关键在于配置,和绑定请求到数据的属性名,善用组件提供的方法

node-key的值,是treelist这个数据来源中的该值的key名
:default-expanded-keys=“allRoleId” 不需要forEach获得所有id了,这一个属性就完成所有功能
check-strictly在显示复选框的情况下,是否严格的遵循父子不互相关联的做法,默认为 false

<el-tree
ref="mytree"
default-expand-all
:data="treelist"
show-checkbox
node-key="id"
:default-checked-keys="checklistArr"
:props="defaultProps">
</el-tree>

注意:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

async confirmRole () {this.dialogFormVisibleRight = false// getCheckedKeys若节点可被选择(即 show-checkbox 为 true),则返回目前被选中的节点的 key 所组成的数组// getHalfCheckedKeys若节点可被选择(即 show-checkbox 为 true),则返回目前半选中的节点的 key 所组成的数组// 角色授权接口post roles/:roleId/rights请求体ridslet arr1 = this.$refs.mytree.getCheckedKeys()let arr2 = this.$refs.mytree.getHalfCheckedKeys()let arr = [...arr1, ...arr2]const res = await this.$http.post(`roles/${this.currentRoleId}/rights`, {rids: arr.join(',')})console.log('设置角色', res)this.getRoleList()
}
editRight (role) {this.dialogFormVisibleRight = truethis.checklist = role.childrenthis.currentRoleId = role.id//  这里只展示现有的功能this.getRightsList()// 将所有权限的id赋值给数组allRoleId// console.log('role', role)// console.log('checklist:', this.checklist)// 问题:发现这里拿不到treelistvar tmpArr = []this.checklist.forEach(item1 => {// tmpArr.push(item1.id)var item2 = item1.childrenitem2.forEach(item2 => {//   tmpArr.push(item2.id)var item3 = item2.childrenitem3.forEach(item3 => {tmpArr.push(item3.id)})})})this.checklistArr = tmpArr
},

3.4 < el-pagination>分页

<el-pagination@size-change="handleSizeChange"@current-change="handleCurrentChange":current-page="queryinfo.pagenum":page-sizes="[2, 5, 10, 15]":page-size="queryinfo.pagesize"layout="total, sizes, prev, pager, next, jumper":total="total">
</el-pagination>

4.商品管理

4.1 params分类参数

在这里插入图片描述

4.1.1 Alert 警告

<el-alerttitle="只允许为第三级分类设置参数"type="error">
</el-alert>

4.1.2 Cascader级联选择器

4.1.3 Tabs 标签页

<el-form ref="form" label-width="80px" ><el-form-item label="商品名称"> -- 【有form就有form-item】<el-cascader:show-all-levels="false"clearablev-model="value":options="options":props="{expandTrigger: 'hover', label: 'cat_name',value: 'cat_id',children: 'children'}"@change="handleChange"></el-cascader><el-tabs v-model="active" @tab-click="tabsHandleClick"><el-tab-pane label="动态参数" name="1"></el-tab-pane><el-tab-pane label="静态参数" name="2"></el-tab-pane></el-tabs></el-form-item>
</el-form>

4.2 categories商品分类 - tree-grid树形结构

在这里插入图片描述
tree-grid 和table-column一样使用
treeGrid

1.安装包
2.
<script>
// 引入tree-grid
var ElTreeGrid = require('element-tree-grid')
export default {// 局部注册 组件名<el-tree-grid>components: {ElTreeGrid}
</script>
3.
<el-table
:data="options"
border
style="width: 100%"><el-tree-gridtreeKey="cat_id"parentKey="cat_pid"levelKey="cat_level"childKey="children"prop="cat_name"label="分类名称"width="350"></el-tree-grid><el-table-columnprop="cat_deleted"label="是否有效"></el-table-column>
</el-table>

4.3 添加商品

4.3.1 步骤条

  <!-- 步骤条 样式改变取决于属性active--><el-steps :active="parseInt(active)-1" finish-status="success" simple style="margin-top: 20px"><el-step title="基本信息" ></el-step><el-step title="商品参数" ></el-step><el-step title="商品属性" ></el-step><el-step title="商品图片" ></el-step><el-step title="商品内容" ></el-step></el-steps>

4.3.2 纵向tabs标签页

  <!-- 纵向tabs标签页 样式改变取决于属性name/activeName--><!-- 最外层要用form包裹 --><el-form ref="form" :model="form" label-width="80px"><el-tabs tab-position="left" style="height:500px;margin-top: 20px;margin-bottom: 30px; overflow: scroll;"v-model="active" @tab-click="handleClick" ><el-tab-pane label="基本信息" name="1"><el-form-item label="商品名称"><el-input v-model="form.goods_name"></el-input></el-form-item>  </el-tab-pane><el-tab-pane label="商品参数" name="2"><!-- 商品参数 显示动态信息 checkbox多选框组 checkbox-group元素能把多个 checkbox 管理为一组,只需要在 Group 中使用v-model绑定Array类型的变量即可。--></el-tab-pane><!-- 上传图片 upload组件 --><el-tab-pane label="商品图片" name="4"><el-form-item label-width="auto"><el-uploadaction="http://47.105.184.7:8888/api/private/v1/upload":headers="header":on-preview="handlePreview":on-remove="handleRemove":on-success="handleSuccess":file-list="fileList"list-type="picture"><el-button size="small" type="primary">点击上传</el-button><div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div></el-upload></el-form-item></el-tab-pane><el-tab-pane label="商品内容" name="5"><el-form-item label-width="auto"><el-button type="primary" size="small" @click="addGoods">添加商品</el-button><!-- 富文本编辑器 vue-quill-editor --><quill-editor v-model="form.goods_introduce"></quill-editor></el-form-item></el-tab-pane></el-tabs></el-form>

4.3.3 el-upload上传图片

<el-tab-pane label="商品图片" name="4"><el-form-item label-width="auto"><el-uploadaction="http://47.105.184.7:8888/api/private/v1/upload":headers="header":on-preview="handlePreview":on-remove="handleRemove":on-success="handleSuccess":file-list="fileList"list-type="picture"><el-button size="small" type="primary">点击上传</el-button><div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div></el-upload></el-form-item>
</el-tab-pane>

5.Dialog 对话框 - 弹框

<el-dialogtitle="提示":visible.sync="dialogVisible"width="30%":before-close="handleClose"><span>这是一段信息</span><span slot="footer" class="dialog-footer"><el-button @click="dialogVisible = false">取 消</el-button><el-button type="primary" @click="dialogVisible = false">确 定</el-button></span>
</el-dialog>

6.导入

6.1 自定义组件 - 面包屑

myBread.vue

<template><!-- 面包屑 --><el-breadcrumb separator-class="el-icon-arrow-right" class="mybreadcrumb"><el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item><el-breadcrumb-item>{{level1}}</el-breadcrumb-item><el-breadcrumb-item>{{level2}}</el-breadcrumb-item></el-breadcrumb>
</template>
<script>
export default {props: ['level1', 'level2'],name: 'my-bread'
}
</script>
<style scoped>
.mybreadcrumb {margin-bottom: 15px;
}
</style>

main.js

import myBread from '@/components/cuscom/myBread.vue'
Vue.component(myBread.name, myBread)

6.2 富文本编辑器

npm上搜 vue-quill-editor

npm install vue-quill-editor --save

html:

<quill-editor v-model="form.goods_introduce"></quill-editor>

js:(按需)局部注册组件

mount with component
// require styles
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'import { quillEditor } from 'vue-quill-editor'export default {components: {quillEditor}
}

6.3 非element-UI的树形结构

npm搜索element-tree-grid

npm install element-tree-grid --save

html:
适用于< el-table>,可以直接像< el-table-column>一样使用

<el-tree-gridtreeKey="cat_id"parentKey="cat_pid"levelKey="cat_level"childKey="children"prop="cat_name"label="分类名称"width="350"
>
</el-tree-grid>

js:

var ElTreeGrid = require('element-tree-grid')
export default {// 局部注册 组件名<el-tree-grid>components: {ElTreeGrid}
}

6.4 城市数据

html:

<el-cascader
:options="citydata"
>
</el-cascader>

js:

import cityData from '@/assets/city_data2017_element.js'
export default {data () {return {citydata: []}}

6.5 数据报表echarts

echarts文档

6.5.1 安装

npm install echarts --save

6.5.2 引入 ECharts

html:

<!-- 为echart准备一个div容器 -->
<div id="main" style="width: 600px;height:400px;"></div>

js:

var echarts = require('echarts')
export default {data () {return {}},methods: {async useEchart () {// initvar myChart = echarts.init(document.getElementById('main'))const res = await this.$http.get(`reports/type/1`)// legend:// data: (5) ["华东", "华南", "华北", "西部", "其他"]// __proto__: Object// series: (5) [{…}, {…}, {…}, {…}, {…}]// xAxis: [{…}]// yAxis: [{…}]let option1 = {title: {text: '用户来源'},tooltip: {trigger: 'axis',axisPointer: {type: 'cross',label: {backgroundColor: '#E9EEF3'}}},toolbox: {feature: {saveAsImage: {}}},grid: {left: '3%',right: '4%',bottom: '3%',containLabel: true}}console.log('数据报表', res)let option2 = res.data.datalet option = {...option1, ...option2}console.log(option)// setOptionmyChart.setOption(option)}},mounted () {// 这里操作元素this.useEchart()}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/251383.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

es6 --- 使用yield*命令遍历完全二叉树

首先定义二叉树的结构: // 定义二叉树的结构 function Tree(left, label, right) {this.left left;this.label label;this.right right; }// 对二叉树采用中序遍历 function* inorder(t) {if(t) {yield* inorder(t.left);yield t.label;yield* inorder(t.right);} }// 生成…

面向对象之继承与派生

阅读目录 一 初识继承二 继承与抽象&#xff08;先抽象再继承&#xff09;三 继承与重用性四 派生五 组合与重用性六 接口与归一化设计七 抽象类八 继承实现的原理&#xff08;可恶的菱形问题&#xff09;九 子类中调用父类的方法一 初识继承 什么是继承 继承是一种创建新类的方…

SpringBoot(十三)-- 不同环境下读取不同配置

一、场景&#xff1a; 在开发过程中 会使用 开发的一套数据库&#xff0c;测试的时候 又会使用测试的数据库&#xff0c;生产环境中 又会切换到生产环境中。常用的方式是 注释掉一些配置&#xff0c;然后释放一下配置。SpringBoot提供了在不同环境下切换不同配置的功能&#xf…

MDN文档基础知识搜集

Array数组&#xff0c;一种允许你存储多个值在一个引用里的结构。var myVariable [1,Bob,Steve,10]; 引用数组的元素只需&#xff1a;myVariable[0], myVariable[1], 等等. 发布工具: FTP 客户端 你还需要一种将文件从本地硬盘上传到远程Web服务器的方法。 为了做到这一点&am…

vue-cli生成项目时你应当知道的

一、安装 npm install -g vue-cli二、创建项目 vue init 模板名 项目名 vue init webpack mymall模板名: 1 . webpack 最常用 2 . webpack-simple // 一个简单webpackvue-loader的模板&#xff0c;不包含其他功能。 3 . browserify // 一个全面的Browserifyvueify 的模板&am…

es6 --- 正确获取Generator函数内部的this对象使其可以使用new

首先看2个例子 function * g() {this.a 11; }let o g(); console.log(o.a);可以看见Generator函数里面的this指向的对象取不出来. 再看下一个例子: function* F() {yield this.x 2;yield this.y 3; } new F();可以看出Generator函数无法使用new操作符, 下面一共一个解决…

mysql三-3:完整性约束

阅读目录 一 介绍二 not null与default三 unique四 primary key五 auto_increment六 foreign key七 作业一 介绍 约束条件与数据类型的宽度一样&#xff0c;都是可选参数 作用&#xff1a;用于保证数据的完整性和一致性主要分为&#xff1a; PRIMARY KEY (PK) 标识该字段为该…

es6 --- 对任意对象部署可遍历接口

有时候需要对对象进行遍历,下面提供一个比较方便的接口, 其基本思路是,首先得到对象的所有键(key), 然后将其放在yield* 后面. yield* 可以通过 for … of … 循环遍历 具体实现如下: function* iterEntries (obj) {let keys Object.keys(obj);for ( let i 0; i < keys.…

element-ui表单验证:用户名、密码、电话、邮箱

之前设计login组件时增加了简单的表单验证&#xff0c;因此对应的users组件&#xff0c;添加用户功能也必须设置相应的验证规则。 文档form表单验证只提供了用户名/密码&#xff0c;是否必须/长度限制的验证。对于电话、邮箱和地址的验证如下&#xff1a; html部分&#xff0c…

前端解析返回的对象时json显示$ref问题的解决

在mapper中写的语句&#xff0c;结果集中association&#xff0c;采用的一个对象&#xff0c;整个list列表中每个元素有一个对象元素&#xff0c;如果第二个元素中有一个与第一个元素中对象同名的&#xff0c;就会去引用上一个元素的地址&#xff0c;在json前台解析的时候就不会…

微信小程序模仿开眼视频app(一)——视频首页、视频详情、分类

可到我的github账号上去copy文件 先展示一下我实现了的功能吧 提示&#xff0c;如果有出现无法加载域名之类问题的的&#xff0c;可以在“设置”-“项目设置”-打钩“不校验合法域名……”&#xff1b; 或者直接登录自己的微信小程序后台设置域名信息 首页部分&#xff1a; 1…

es6 --- Thunkify源码分析

首先看一个例子:读取package.json下的文件,并将读取的数据(若读取失败)打印出来 // 导入fs和thunkify模块 var thunkify require(thunkify); var fs require(fs);// 定义读取文件的函数read var read thunkify(fs.readFile);// 调用read函数读取package.json下的文件.并对数…

(转)C# WebApi 身份认证解决方案:Basic基础认证

原文地址&#xff1a;http://www.cnblogs.com/landeanfen/p/5287064.html 阅读目录 一、为什么需要身份认证二、Basic基础认证的原理解析 1、常见的认证方式2、Basic基础认证原理三、Basic基础认证的代码示例 1、登录过程2、/Home/Index主界面3、WebApiCORS验证部分&#xff08…

ZNZD平台vue项目

一、安装配置node.js 1.1 配置企业级软件仓库 1&#xff09;首先用的是Nexus Repository Manager搭建npm私服&#xff1b;&#xff08;待补充&#xff09; 2&#xff09;项目使用修改.npmrc文件来修改源 现在需要做的就是修改源&#xff01;采取配置npmrc文件的方式&#x…

微信小程序模仿开眼视频app(二)——搜索功能

微信小程序模仿开眼视频app&#xff08;一&#xff09;有介绍首页、视频详情和分类部分 可到我的github账号上去copy文件 搜索部分 一开始没想要设置历史记录啊、热门搜索啊这些的&#xff0c;只是想把搜索框弄好看一点&#xff0c;无意中发现了微信官方ui库&#xff1a;weu…

设计模式(六)------设计模式六大原则(5):迪米特法则

转载自&#xff1a;http://www.jianshu.com/p/14589fb6978e &#xff08;作者简书&#xff1a;涅槃1992&#xff09; 揭秘迪米特法则 迪米特法则&#xff08;Law of demeter,缩写是LOD&#xff09;要求&#xff1a;一个对象应该对其他对象保持最少了解&#xff0c; 通缩的讲就是…

http://www.cda.cn/view/25735.html

通过实例浅析Python对比C语言的编程思想差异 我一直使用 Python&#xff0c;用它处理各种数据科学项目。 Python 以易用闻名。有编码经验者学习数天就能上手&#xff08;或有效使用它&#xff09;。 听起来很不错&#xff0c;不过&#xff0c;如果你既用 Python&#xff0c;同时…

前端知识点梳理(一)

一、HTML 1. meta标签 记住2个属性&#xff1a;name和http-equiv name&#xff1a;描述网页 <meta name"参数" content"具体的描述">http-equiv&#xff1a;文件头 HTML中的meta标签及其使用方法 二、CSS 1. css实现水平居中的几种方式 css实…

Babel 7 基础入门学习(详细版)

可以在我的GitHub上下载示例代码。 前言 之前一直想要系统的学习一下Babel的使用规则&#xff0c;看过阮一峰老师的《Babel基础入门》&#xff0c;无奈此教程是2016年出的&#xff0c;而Babel 7都已经出来啦&#xff0c;于是&#xff0c;在搜集了各种资料后&#xff0c;关于…

Kubernetes学习之路(四)之Node节点二进制部署

K8S Node节点部署 1、部署kubelet &#xff08;1&#xff09;二进制包准备 [rootlinux-node1 ~]# cd /usr/local/src/kubernetes/server/bin/ [rootlinux-node1 bin]# cp kubelet kube-proxy /opt/kubernetes/bin/ [rootlinux-node1 bin]# scp kubelet kube-proxy 192.168.56.1…