Vue 2.6版本基础知识概要(一)
挂载组件
//将 App组件挂载到div#app节点里
new Vue({
render: h => h(App),
}).$mount('#app')
VueComponent.$mount
封装组件
<template>
<div id="app">
Hello Vue
</div>
</template>
<script>
export default {
name: 'app',
}
</script>
<style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
}
</style>
1 Vue组件文件以.vue 结尾;
2 Vue组件模版,将html,css,js分别抽离到 tempplate ,style ,script ,各司其职,层次分明;
3 Vue实现css模块化的方式,是 scoped属性,style scoped ,其原理与css-module类似,以多位hash值避免命名冲突(所以依然存在冲突的可能性);
4 Vue实现数据双向绑定, 指令 v-model = 'dataOrPropName',即绑定props对象或data对象的key。因此,props与data的key命名不可冲突;
5 Vue实现列表渲染的关键指令是 v-for:"item in list" ,v-for属性对当前标签起作用,为了diff算法依赖key值遍历比对的实现,应当同时添加 v-bind:key = 'renewableVariat'绑定key值 ;
6 Vue组件实现父子组件间通信:
<template>
<div id="app">
<HelloWorld v-bind:msg='msg' v-bind:click='getDataFormChild'/>
</div>
</template>
<script>
import HelloWorld from './components/HelloWorld.vue'
export default {
name: 'app',
components: {
HelloWorld
},
methods:{
getDataFormChild:(zz,yy)=>{
console.log(zz,yy);
}
}
}
</script>
<style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
}
</style>
如代码所示,单向数据流父传子依然是通过props传递信息,通过v-bind实现变量的传值,子组件可通过调用父组件定义的方法并传参,实现数据的逆向传递;
7 注意定义data的方式:
data:()=>({
msg:'hello, vue'
}),
如代码所示,data为函数,最终返回一个data对象。(这里应考虑返回data对象的函数如果为异步的情形);
8 :
<script>
import HelloWorld from './components/HelloWorld.vue';
export default {
name: 'app',
components: {
HelloWorld
},
props: {
msg: String,
click: Function
},
data:()=>({
msg:'hello, vue'
}),
methods:{
getDataFormChild:(zz,yy)=>{
console.log(zz,yy);
}
}
}
</script>
如代码所示,在js中引入依赖组件,最终暴露的是一个Vue组件的配置对象,其中,components为引入的组件集对象,data为函数,return出一个data对象,methods是方法集对象 ,props里为props类型检测对象。
9 注意所有js集或框架的类型检测,都是 弱类型(源于js)的静态/动态类型检测: 静态-指代码运行时才进行检测; 动态-指代码编译时就进行检测(如ts);
10 Vue其他丰富的指令及封装指令的方式;
11 Vue提供的组件通信的多种api;
12 Vue-router , vuex等插件的使用;
13 vue 配合node 实现 ssr;
14 vue 配合node 实现部分同构;
15 vue底层源码的消化;
16 基于vue手封实现vuex的功能;
17 拥抱新版本,全面面向es6,深刻学习proxy(替代Object.defineProperty)及class(替代构造函数)的使用;
18 基于Vue指令的思想,写react继承类高阶组件基于React.Component实现多个指令;
Vue 2.6版本基础知识概要(一)的更多相关文章
- Vue 2.0入门基础知识之全局API
3.全局API 3-1. Vue.directive 自定义指令 Vue.directive用于自定义全局的指令 实例如下: <body> <div id="app&quo ...
- vue项目构建实战基础知识:SPA理解/RESTful接口介绍/static目录配置/axios封装/打包时map文件去除
一.SPA 不是指水疗.是 single page web application 的缩写.中文翻译为 单页应用程序 或 单页Web应用,更多解释请自行搜索. 所有的前端人员都应该明白我们的页面的 u ...
- Vue 2.0入门基础知识之内部指令
1.Vue.js介绍 当前前端三大主流框架:Angular.React.Vue.React前段时间由于许可证风波,使得Vue的热度蹭蹭地上升.另外,Vue友好的API文档更是一大特色.Vue.js是一 ...
- vue开发路由相关基础知识和笔记
路由实现:hash模式 和 history模式 hash模式: 概述 在浏览器中符号"#",#以及#后面的字符称之为hash,用window.location.hash读取: 特点 ...
- 安装 Linux 系统基础知识概要
虚拟化软件,建议使用 Vmware Workstation 虚拟硬件配置CPU:2核或更多内存:1G以上,推荐2G硬盘:一块硬盘,200G (虚拟大小)网卡:NAT模式 (桥接在外部网络变化时,无法访 ...
- JDK版本基础知识解释
感谢大佬:https://www.cnblogs.com/bjguanmu/articles/8710209.html jdk:java development kit,是程序员编写java程序需要的 ...
- Python学习基础知识概要
1.输入输出 输出实例 1 2 print 'hello','world' hello world 输入实例 1 2 3 4 5 name = raw_input(); print " ...
- vue初体验-ES6 基础知识补充 let 和const
本人水平有限,如内容有误,欢迎指正,谢谢. let : 主要特点: 1.作用域只局限于当前代码块.2.使用let 声明的变量作用域不会被提升.3.在相同的作用域下不能声明相同的变量.4.for循环体 ...
- Vue.js-08:第八章 - 组件的基础知识
一.前言 在之前的学习中,我们对于 Vue 的一些基础语法进行了简单的了解,通过之前的代码可以清晰的看出,我们在使用 Vue 的整个过程,最终都是在对 Vue 实例进行的一系列操作. 这里就会引出一个 ...
随机推荐
- Linux命令及架构部署大全
1.Linux系统基础知识 Linux 基础优化配置 Linux系统根目录结构介绍 linux系统重要子目录介绍 Linux基础命令(之一)详解 Linux基础命令(之二)详解 Linux文件系统 L ...
- Python:如何用一行代码获取上个月是几月
现在转一篇志军100发于公众号 Python之禅的文章: Python:如何用一行代码获取上个月是几月 抱歉我用了个有点标题党的标题,因为担心你错过了本文,但内容绝对干货,本文介绍的关于Python时 ...
- Android 开发学习资源汇总
下面这些资源对Android开发来说是很有帮助的! 1. 在线代码运行工具 地址:https://tool.lu/coderunner/ 说明:此工具站能在线运行C.C++.Java,基本能满足相关基 ...
- C语言ftell()函数
ftell()函数返回指定流的当前文件指针的位置.在文件末尾移动文件指针后,我们可以使用ftell()函数获取文件的总大小.可以使用SEEK_END常量来将文件指针移动文件末尾. ftell()函 ...
- 由一个emoji引发的思考
由一个emoji引发的思考 从毕业以来,基本就一直在做移动端,但是一直就关于移动端的开发,各种适配问题的解决,在日常搬砖中处理了就过了,也没有把东西都沉淀下来,觉得甚是寒颜.现就一个小bug,让我们来 ...
- apriori && fpgrowth:频繁模式与关联规则挖掘
已迁移到我新博客,阅读体验更佳apriori && fpgrowth:频繁模式与关联规则挖掘 详细代码我放在github上:click me 一.实验说明 1.1 任务描述 1.2 数 ...
- 告别 hash 路由,迎接 history 路由
博客地址:https://ainyi.com/69 三月来了,春天还会远吗.. 在这里,隆重宣布本博客告别 Vue 传统的 hash 路由,迎接好看而优雅的 history 路由~~ 映照官方说法 v ...
- SQLServer事务在C#当中的应用
1:事务是什么 事务指的是一系列SQL操作的逻辑工作单元,,要么完全地执行,要么完全地不执行. 一个逻辑工作单元必须有4个属性,原子性(Atomic).一致性(Consistent).隔离型(Isol ...
- C# 曲线上的点(一) 获取指定横坐标对应的纵坐标值
获取直线上的点,很容易,那曲线呢?二阶贝塞尔.三阶贝塞尔.多段混合曲线,如何获取指定横坐标对应的纵坐标? 如下图形: 实现方案 曲线上的点集 Geometry提供了一个函数GetFlattenedPa ...
- c#实战开发:以太坊钱包快速同步区块和钱包卡死解决方案 (三)
首先以太坊默认的快速同步模式 我们需要先设置当前同步模式内存大小512-2048范围 在服务器配置情况下最大化内存 输入以下命令 geth --fast --cache=2048 最快同步模式也是 保 ...