Vue教程(一):Vue核心

2023-11-14

Vue教程(一):Vue核心

1.1 Vue简介

1.1.1 Vue是什么?

一套用于构建用户界面渐进式JS框架。

1.1.2 谁开发的?

——尤雨溪。

  • 2015-10-27 正式发布 Vue1.0.0 Evangelion(新世纪福音战士)
  • 2016-10-1 正式发布 Vue 2.0.0 (工壳机动队)
  • 2020-9-18 正式发布 Vue 3.0.0 (海贼王)

1.1.3 Vue的特点

  1. 采用组件化模式,提高代码复用率、且让代码更好维护。
  2. 声明式编码,让编码人员无需直接操作DOM,提高开发效率。
  3. 使用虚拟DOM+优秀的Diff算法,尽量复用DOM节点。

1.1.4 学习Vue之前要掌握的JavaScript基础知识

  • ES6语法规范
  • ES6模块化
  • 包管理器
  • 原型、原型链
  • 数组常用方法
  • axios
  • promise

1.1.5 Vue官网使用指南

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FomWRbNw-1689559654954)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20220818130734982.png)]

1.1.6 搭建VUE开发环境

Vue.config.productionTip = false;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UH3cv6Sx-1689559654955)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20220818155656396.png)]

1.2 初始Vue

1.2.1 Hello小案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>初识vue</title>
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
    <!-- 
        初识Vue:
            想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象
            root容器里的代码依然符合html规范,只不过混入了一些特殊的语法
            root容器里的代码称为【Vue模版】

            注意区分:js表达式 和 js代码(语句)
                1、表达式:一个表达式会生成一个值,可以放在任何一个需要的地方:
                    (1).a
                    (2).a+b
                    (3).demo(1)
                    (4).x === y ? 'a' : 'b'
                2、js代码(语句)不生成值,控制代码走向
                    (1). if(){}
                    (2). for(){}
     -->
    <!-- 准备一个容器 -->
    <div id="root">
        <h1>Hello, {{name}},{{address}},{{Date.now()}}</h1>
        <button>Test</button>
    </div>
    <!-- <div id="root2">
        <h1>Hello, {{address}}</h1>
    </div> -->
<script>
    // 设置为 false 以阻止 vue 在启动时生成生产提示。
    Vue.config.productionTip = false;

    // 创建Vue实例
    new Vue({
        // el用于指定当前Vue实例为哪个容器服务,值通常为css选择器字符串
        el: '#root',
        data: {
            // data用于存储数据,数据供el所指定的容器去使用,值我们暂时先写成一个对象。
            name: 'wang',
            address: '武汉'
        }
    })

    // new Vue({
    //     // el用于指定当前Vue实例为哪个容器服务,值通常为css选择器字符串
    //     el: '#root2',
    //     data: {
    //         // data用于存储数据,数据供el所指定的容器去使用,值我们暂时先写成一个对象。
    //         address: '武汉',
    //     }
    // })
    
</script>

</body>
</html>

1.2.2 总结

  1. 想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象
  2. root容器里的代码依然符合html规范,只不过混入了一些特殊的语法
  3. root容器里的代码称为【Vue模版】
  4. Vue实例和容器是一一对应
  5. 真实开发中只有一个Vue实例,并且会配合着组件一起使用
  6. {{xxx}}中的xxx要写js表达式,且xxx可以自动读取到data中的数据
  7. 一旦data中的数据发生改变,那么模版中用到该数据的地方也会自动更新

1.3 模版语法

1.3.1 效果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uQbbLFOq-1689559654955)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20220927093230720.png)]

1.3.2 总结

  • Vue模版语法有两大类:
    1. 差值语法
      • 功能:用于解析标签体内容
      • 写法:{{xxx}},xxx是js表达式,且可以直接读取到data中的所有属性
    2. 指令语法
      • 功能:用于解析标签(包括:标签属性、标签体内容、绑定事件)
      • 举例:v-bind:href="xxx" 或简写为 :href="xxx",xxx同样要写js表达式,且可以直接读取到data中的所有属性。
      • 备注:Vue中有很多指令,且形式都是:v-???,此处我们只是拿v-bind举个例子

1.4 数据绑定

1.4.1 效果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1UvSvbgp-1689559654956)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20220927094657446.png)]

1.4.2 单向数据绑定

v-bind

单向数据绑定:<input type="text" v-bind:value="name"/><br/>

1.4.3 双向数据绑定

v-model

双向数据绑定:<input type="text" v-model:value="name"/>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q4nMvSSv-1689559654956)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20220927094429401.png)]

1.4.4 总结

  • Vue中有2两种数据绑定的方式
    1. 单向绑定(v-bind):是关于只能从data流向页面
    2. 双向绑定(v-model):数据不仅能从data流向页面,还可以从页面流向data
      • 备注:
        1. 双向绑定一般都应用在表单类元素上,如input、select
        2. v-model:value 可以简写为v-model,因为v-model默认收集的就是value

简写方式:

<!-- 简写 -->
单向数据绑定:<input type="text" :value="name"/><br/>
双向数据绑定:<input type="text" v-model="name"/>

1.5 el与data的两种写法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DhDUVWlY-1689559654956)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20220927095642175.png)]

1.5.1 el的两种写法

// el的两种写法
    const v = new Vue({
        // 第一种写法
        el: '#root',
        data:{
            name: 'jack',
        }
    })
    console.log(v)
    
    // 等待1秒再进行绑定
    setTimeout(() => {
        // 第二种写法,有挂载的意思mount
        v.$mount('#root')
    }, 1000);

1.5.2 data的两种写法

// data的两种写法
    new Vue({
        el: '#root',
        // data的第一种写法
        // data:{
        //     name: 'jack'
        // }
        // data的第二种写法
        data(){
            return{
                name: 'jack'
            }
        }
    })

1.5.3 总结

  • el与data的两种写法
    1. el的两种写法
      • new Vue时候配置el属性
      • 先创建Vue实例,随后再通过vm.$mount(‘#root’)指定el的值
    2. data的2种写法
      • 对象式
      • 函数式
    3. 一个重要的原则:
      • 由Vue管理的函数,一定不要写箭头函数,一旦写了箭头函数,this就不再是Vue实例了,因为箭头函数没有自己的this,只能往外找,就找到了window

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NPKso2KE-1689559654957)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20220927100929045.png)]

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-65oiPbEC-1689559654957)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20220927101020835.png)]

1.6 MVVM模型

  1. M:模型(Model):对应data中的数据
  2. V:视图(View):模版
  3. VM:视图模型(ViewModel):Vue实例对象

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zzLhqQNO-1689559654957)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20221014081758558.png)]

data中所有的属性,最后都出现在了vm身上。vm身上的所有属性,及vue原型上所有属性,在vue模版中都可以直接使用。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kzXPkd4p-1689559654958)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20221014082646003.png)]

1.7 Object.defineProperty

是否可以枚举

**需求:**给张三添加一个属性年龄age,值是18.

Object.defineProperty(person, 'age',{
        value:18
    })

仔细看到,age的颜色和name、sex颜色不同。说明age是不可枚举的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0LFA9J9I-1689559654958)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20221014083410273.png)]

这里说明什么是不可枚举:

首先,我们直接给person,加上age属性,然后打印出person的key有哪些

<script type="text/javascript">
    Vue.config.productionTip = false;

    let person = {
        name:'张三',
        sex:'男',
        age:18
    }

    //Object.defineProperty(person, 'age',{
        //value:18
    //})
    console.log(Object.keys(person));
    console.log(person);
</script>

去浏览器查看打印的结果,是可以看到age属性的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fw9pEImq-1689559654958)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20221014083933681.png)]

但是,当我们通过Object.defineProperty给person添加age属性的时候,打印的时候,这里的age是无法取到的,这就是此时的age不可枚举。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zk12zUnv-1689559654958)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20221014083901738.png)]

但是,也可以通过设置另外一个属性,设置age可枚举,通过属性enumerable即可设置,代码如下:

Object.defineProperty(person, 'age',{
        value:18,
        enumerable: true, //控制属性是否可以枚举,默认值是false
    })

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8aw3rZ1H-1689559654959)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20221014084232227.png)]

是否可以修改

这里的writable控制属性是否可以被修改,默认值是false

Object.defineProperty(person, 'age',{
        value:18,
        enumerable: true,
        writable: true,
    })

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TnGXhj93-1689559654959)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20221019082245690.png)]

是否可以删除

直接写在let person里面的属性是可以直接删除的,比如name属性。

let person = {
        name:'张三',
        sex:'男',
        // age:18
    }

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YnIKbX2q-1689559654960)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20221019082450019.png)]

但是,写在defineProperty里面的属性是不能删除的,比如age属性

    Object.defineProperty(person, 'age',{
        value:18,
        enumerable: true,
        writable: true,
    })

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vCNpZX7a-1689559654960)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20221019082522894.png)]

可以设置configurable: true这个属性,来设置可以删除某个属,可以看到删除成功

    Object.defineProperty(person, 'age',{
        value:18,
        enumerable: true,
        writable: true,
        configurable: true,
    })

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LUxE9GTN-1689559654960)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20221019082810899.png)]

另一个需求 get()

当有人读取person的age属性时,get函数(getter)就会被调用,且返回值就是age的值

初始代码

let number = 18;
    let person = {
        name:'张三',
        sex:'男',
        age: number,
    }

我修改number的值,age也要跟着变

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JU2GtvE8-1689559654960)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20221019083418087.png)]

修改代码

Object.defineProperty(person, 'age',{
        // value:18,
        // enumerable: true,
        // writable: true,
        // configurable: true,
        // 当有人读取person的age属性时,get函数(getter)就会被调用,且返回值就是age的值
        get(){
            return number;
        }
    })

打印结果成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PzTaeC3u-1689559654961)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20221019083837980.png)]

set()函数

当有人修改person的age属性时,set函数(setter)就会被调用,且会收到修改的具体值

Object.defineProperty(person, 'age',{
        // value:18,
        // enumerable: true,
        // writable: true,
        // configurable: true,
        // 当有人读取person的age属性时,get函数(getter)就会被调用,且返回值就是age的值
        get(){
            return number;
        },
        // 当有人修改person的age属性时,set函数(setter)就会被调用,且会收到修改的具体值
        set(value){
            console.log('有人修改了age属性,且值是', value);
        }
    })

查看结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y7O1liQP-1689559654961)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20221019084130948.png)]

整体输出一下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jicEthNk-1689559654961)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20221019084349106.png)]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue教程(一):Vue核心 的相关文章

  • Oo 任何 IDE 中的 javascript 代码补全

    你知道有什么IDE可以自动完成这种代码吗 我这里有一个 javascript 类生成器 function var core bind function method scope if method instanceof Function t
  • 如何通过单击图像预览上的“x”从文件输入中删除图像?

    我目前有一个文件输入 一旦用户上传图像 就会显示图像预览 在图像预览上 有一个 x 可以从列表中删除图像预览 单击此 x 后 有什么方法可以从输入中的文件集中删除图像吗
  • 仅当表单已提交时才触发 jQuery 表单验证?

    不引人注目的验证基于这样的想法 don t进行表单验证 直到用户提交表单 一旦发生这种情况 如果表单上的某些内容无效 那么一旦用户更改了每个字段 就会立即验证它 我想做的是 不显眼地 触发表单元素的验证 也就是说 only如果用户已尝试提交
  • 网站 YouTube 嵌入视频不断播放

    我正在使用 youtube 提供的 iframe 在我的网站上嵌入视频 我还使用了一个 css 弹出窗口 这是我从这个页面学到的http www pat burt com web development how to do a css po
  • Node js 使用中间件重定向进行过多重定向

    在我的 Node js 应用程序 我使用的是express 4 x 中 我想检查用户是否已登录 如果用户未登录 我想重定向到我的登录页面 然后我在中间件中这样做 服务器 js app use function req res next if
  • 在网页上的文本框中键入内容时删除所有空格

    我如何在用户打字时即时删除输入到文本框中的空格 function var txt myTextbox var func function txt val txt val replace s g txt keyup func blur fun
  • jquery 验证错误位置

    这看起来很简单 但我无法弄清楚 我正在使用 jquery 验证插件 我验证所有文件 但我想要的是在输入文本行中显示验证消息警报 例如在电子邮件输入中 请填写电子邮件地址 但现在它出现在所有字段下 在我的html中
  • Jquery从下拉列表中获取所选值的id

    我有一个下拉列表 可以从数据库获取值 如下所示 get getJobs function jobs seljobs jobs var i 0 jobs forEach function n alert job id n id 32 67 4
  • jQuery 选择 # id 以单词为前缀,计数器为后缀

    有没有办法用 jQuery 选择所有带有前缀 my 和后缀 0 9 的 id 像这样的 my 1 4 还是可以用循环来实现 div div div div div div div div div div 第一个想法 似乎效果很好 div i
  • 如何仅在 NextJS 站点构建期间使用 getInitialProps?

    当使用 NextJS 构建静态站点时 我想要getInitialProps方法仅在构建步骤期间触发 而不是在客户端上触发 在构建步骤中 NextJS 运行getInitialProps 方法 https nextjs org docs fe
  • 如何使用canvas.toDataURL()将画布保存为图像?

    我目前正在构建一个 HTML5 Web 应用程序 Phonegap 本机应用程序 我似乎不知道如何将画布保存为图像canvas toDataURL 有人可以帮我吗 这是代码 有什么问题吗 我的画布被命名为 canvasSignature J
  • jquery window.open 在 ajax 成功中被阻止

    尝试在我的 ajax 成功调用中打开一个新的浏览器窗口 但是 它被阻止为弹出窗口 我做了一些搜索 发现用户事件需要绑定到 window open 才能避免这种情况发生 我还找到了这个解决方案 您可以在 ajax 之前打开一个空白窗口 然后在
  • 通过 node-http-proxy 保留基于 cookie 的会话

    我有一个简单的基于 Express 的 Node js Web 服务器 用于开发 JavaScript 应用程序 我将服务器设置为使用 node http proxy 来代理应用程序向在不同域和端口上运行的 Jetty 服务器发出的 API
  • JavaScript 中数组的 HTML 数据列表值

    我有一个简单的程序 它必须从服务器上的文本文件中获取值 然后将数据列表填充为输入文本字段中的选择 为此 我想要采取的第一步是我想知道如何动态地将 JavaScript 数组用作数据列表选项 我的代码是
  • 如何流式传输 OpenAI 的完成 API?

    我想流式传输结果通过 OpenAI 的 API 完成 https beta openai com docs api reference completions 该文档提到使用服务器发送的事件 https developer mozilla
  • vue-test-utils:如何测试 Mounted() 生命周期挂钩中的逻辑(使用 vuex)?

    我正在尝试为 Vue 中的逻辑编写一个单元测试mounted 生命周期钩子 但运气不太好 问题似乎是这样的mounted 使用 vue test utils 安装组件时永远不会被调用mount 这是我要测试的 Vue 组件
  • 为什么“tbody”不设置表格的背景颜色?

    我在用 tbody 作为 CSS 选择器来设置background color在一个表中 我这样做是因为我有多个 tbody 表内的部分 它们具有不同的背景颜色 我的问题是 当使用border radius在细胞上 细胞不尊重backgro
  • 查询为空 Node Js Sequelize

    我正在尝试更新 Node js 应用程序中的数据 我和邮递员测试过 我的开发步骤是 从数据库 MySQL 获取ID为10的数据进行更新 gt gt 未处理的拒绝SequelizeDatabaseError 查询为空 我认识到 我使用了错误的
  • Nodejs mysql 获取正确的时间戳格式

    我在用着mysqljs https github com mysqljs mysql得到结果后sql我变得不同TimeStamp格式如下 created at Sat Jul 16 2016 23 52 54 GMT 0430 IRDT 但
  • 无法在前端使用 JavaScript Fetch API 将文件上传到 FastAPI 后端

    我正在尝试弄清楚如何将图像发送到我的 API 并验证生成的token那是在header的请求 到目前为止 这就是我所处的位置 app post endreProfilbilde async def endreProfilbilde requ

随机推荐

  • Flutter安装部署运行,bug笔记

    1 根据官方文档下载flutterSDK 附带dart AndroidStudio下载flutter插件 附带dart 2 然后在flutter路径的cmd命令框 或在AS新项目目录里的文件pubspec yaml界面 或在AS命令框执行f
  • 设计模式--FlyWeight--结构型

    程序员是沟通人和机器交流 意图 Intent 运用共享技术有效地支持大量细粒度的对象 设计模式 GoF 结构 structure 面向对象的代价面向对象很好地解决了系统抽象性的问题 同时在大多数情况下 也不会损及系统的性能 但是 在某些特殊
  • 微信小程序animation

    wxml
  • LINUX 查询已安装的软件信息

    问题 1 列出当前主机已安装的所有RPM软件 2 查看firefox软件包的安装清单 3 查询ifconfig命令程序是安装哪个软件包后产生的 4 查看firefox软件包的用途 方案 查询所有已安装的rpm包 可以利用命令rpm qa 查
  • CentOS 修改IP地址, DNS, 网关

    一 CentOS 修改IP地址 修改对应网卡的IP地址的配置文件 vi etc sysconfig network scripts ifcfg eth0 修改以下内容 DEVICE eth0 描述网卡对应的设备别名 例如ifcfg eth0
  • 【满分】【华为OD机试真题2023 JAVA&JS】整理扑克牌

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 整理扑克牌 知识点贪心排序 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 给定一组数字 表示扑克牌的牌面数字 忽略扑克牌的花色 请按如下规则对这一组扑克牌进行整
  • 【Linux】远程连接服务

    1 什么是远程连接服务器 远程连接服务器通过文字或图形接口方式来远程登录系统 让你在远程终端前登录linux主机以取得可操作主机接口 shell 而 登录后的操作感觉就像是坐在系统前面一样 2 远程连接服务器的功能 分享主机的运算能力 服务
  • 服务器传感器不显示,服务器传感器不显示

    服务器传感器不显示 内容精选 换一换 不建议将挂载至Linux系统云服务器的云硬盘卸载后 重新挂载至Windows系统云服务器 也不建议将Windows系统云服务器上的云硬盘重新挂载至Linux系统云服务器 在这种情况下 由于文件系统不一致
  • C++ Primer阅读笔记--函数重载和内联函数

    1 函数重载 main 函数不能重载 重载函数在形参数量或形参类型上有所不同 不允许两个函数除了返回类型外其他所有的要素都相同 即函数重载不允许只有返回类型不同 如果形参是某种类型的指针或引用 则通过区分其指向的是常量对象还是非常量对象可以
  • php 日期1900年开始,php日期操作函数

    header content type text html charset utf 8 总结php操作时间的函数 1 cal days in month calendar month year 函数针对指定的年份和日历 返回一个月中的天数
  • Https如何保证了数据的安全?

    Https与Http在数据传输过程的差别 Https与Http都是OSI模型中传输层协议 而唯一不同的就是Https中在Http的应用层和TCP IP增加了一个SSL TLS层 其实也是属于应用层 主要用来对数据进行加解密 保证数据的传输的
  • 服务器系统环境初始化,Centos7系统

    服务器初始化环境 更新yum源 并添加必要系统工具 修改时区 设置系统时间 ntpdate时间同步服务 修改字符集zh CN UTF 8 关闭selinux 内核优化sysctl conf 调整文件描述符ulimit 即单个进程的最大文件打
  • 模拟电路设计的九个级别,你是模电几段?

    众 生 所 搬 周 硬 知 套 模拟电路设计的九个级别 类似下围棋的段位 快来看看自己处于什么水平 感觉九段已经是世外高人了 一段 你刚开始进入这行 对PMOS NMOS BJT什么的只不过有个大概的了解 各种器件的特性你也不太清楚 具体设
  • VSCode——修改VSCode背景图片

    1 以管理员身份运行VS Code 安装background插件 2 打开设置 在搜索框中输入background 选择扩展中的plugin background 选择在setting json中编辑 3 在用户设置中输入以下代码 修改完后
  • [QT入门篇]信号槽机制

    一 信号与槽的引入 信号与槽 Signal Slot 是 Qt 编程的基础 信号槽 实际是观察者模式 发布 订阅模式 当某个事件发生之后 比如 按钮检测到自己被点击了一下 它就会发出一个信号 signal 这种发出是没有目的的 类似广播 如
  • 【NLP】第 1 章 :机器阅读理解简介

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • Python可视化-气泡图

    气泡图类似散点图 也是表示XY轴坐标之间的变化关系 也可以像彩色散点图给点上色 区别在于可以通过图中散点的大小来直观感受其所表示的数值大小 一 数据文件准备 1 PeopleNumber csv city people price NJ 8
  • Android VNDK的作用

    本文目的是让你理解VNDK是什么作用 暂不做细节讲解 在Android 8 0及更高版本中 引入了很多技术都是为了将system和vendor分离 这样设备厂商和芯片供应商只需关心vendor实现 那么vendor实现时要加载framewo
  • 【总结】前端常用编码写法合集

    一 css样式 1 文字多行溢出 单行溢出 overflow hidden white space nowrap text overflow ellipsis 多行溢出 display webkit box webkit box orien
  • Vue教程(一):Vue核心

    Vue教程 一 Vue核心 1 1 Vue简介 1 1 1 Vue是什么 一套用于构建用户界面的渐进式JS框架 1 1 2 谁开发的 尤雨溪 2015 10 27 正式发布 Vue1 0 0 Evangelion 新世纪福音战士 2016