// vue-router中可以使用 

 routes:[
{
path:'/',
name:'index',
component:()=>import('./index')
}
]
// 这种写法可以让componet 后面跟一个匿名函数里面跟着组件的路径。
// v-cloak 防止表达式闪烁
// v-pre 不编译这个标签
// immediate:true 在使用handler 函数时 可以在初始化时进行监听.
watch:{
$route:{
handler:function(newVal,oldVal){
// 监听新数据
// 监听旧数据
},
immediate:true, //监听初始化的数据
deep:true //深度监听数据 }
}
// 凡是实例上的东西都可以进行监听
// 权限路由
// 路由组件传值
{
path:'/',
name:'list',
component:List,
props:true
// 子组件在接收值时. 在props里直接直接写传值的数据名字.
} // 计算属性也拥有getters 和setters 默认写的是getter,设置setter
// 执行可以当此计算属性数据更改的时候去做其他的一些事情.相当于watch这个计算属性 computed:{
xm:{
get:function(){ //getter 当依赖改变后设置值的时候
return this.xing+'.'+this.ming
},
set:function(val){ //setter 当自身改变后执行
this.xing = val.split('.')[],
this.ming = val.split('.'.[])
}
}
}
// 过滤器
// vue 中可以设置filter(过滤器)来实现数据格式化,双花括号插值和v-bind表达式中使用
// 调用过滤器 {{msg|money}} {{msg|money|money}} 可以有多个过滤器进行过滤 Vue.filter('money',(value)=>{
return '$'+value;
})
// mixin 便于混合 后期维护时候进行操作 let obj = {
data:{ //混合到data中 也可以混合到methods或者created等等所有vue的实例拥有的方法
xs:'',
xq:'bk'
}
}
let vm = new Vue({
el:'#box',
mixins:[obj],
data:{
msg:'hello',
x:'s'
}
}) // 虚拟dom的核心思想:对复杂的文档DOM结构,提供一种方便的工具,进行最小化的DOM操作
// 这句话,也许过于抽象,却基于概况了虚拟DOM的设计思想
// 1,提供了一种方便的工具,使得开发效率得到了保证
// 2,保证最小化的DOM操作,使得执行效率得到保证
// 也就是说,虚拟DOM的框架/工具都是这么做的:
// 1:根据现有的真实的dom来生成一个完整的虚拟DOM树结构
// 2:当数据变化,或者说页面需要重新渲染时候,会重新生成一个新的完整的虚拟DOM
// 3:拿新的虚拟dom来和旧的虚拟DOM做对比(使用diff算法),.得到需要更新的地方之后,更新内容 // 组件化开发:
// 优点:代码复用,便于维护
// 划分组件的原则:具有大量的布局结构的,或者是独立的逻辑的,都应该分成组件.
// 组件应该拥有的特性:可组合,可重用,可测试,可维护 // 组件可以用script的标签来书写比如: <script type="text/x-template" id="myComponent">//注意 type 和id。
<div>This is a component!</div>
</script>
Vue.component('my-component',{
template: '#myComponent'
}) //我们可以为组件的 prop 指定验证规则。如果传入的数据不符合要求,Vue 会发出警告。这对于开发给他人使用的组件非常有用 // 验证主要分为:类型验证、必传验证、默认值设置、自定义验证
props:{
// 类型验证:
str:String, //str:[String,Number] 也可以是多种类型
num:{
type:Number,
required:true //必填项
},
//默认数据
bool:{
type:Boolean,
// default:true,
default:function(){
return true
}
},
// 自定义类型
nums:{
type:Number,
validator:function(value){
return value % ==;
}
} }
// slot 匿名插槽 具名插槽 作用域插槽 // 匿名插槽
<com><h1></h1></com>
// 为了让h1显示出来
let com = {
template:'<div>111<slot></slot></div>'
}
// 具名插槽 根据名字来匹配
<com><h1 slot='right'></h1></com>
let com = {
template:'<div>www<slot name="right"></slot></div>'
}
// 组件传参可以使用props 路由 非父子组件可以使用props 路由 还有空组件也可以传参
// 从A组件传给B组件
// A组件内容
<template>
<div>
AAA <button @click='send'>send</button>
</div>
</template>
<script>
import bus from "空组件路径"
export default{
methods:{
send(){
bus.$emit('msg','hahaha');
}
}
}
</script>
// 在空组件种传参 空组件内容:
import Vue from 'vue';
export default new Vue(); // B组件
import bus from "空组件路径"
export default {
created() {
bus.$on("msg",(data)=>{
console.log(data);
})
}
} // 命名路由
// router-link 写在本页面
<router-link to="/">点我显示多个组件</router-link>
routes:[
{
path:'/',
components:{
default:One //One组件
right:Two //组件
}
}
]
// router-view 显示本页面的路由 显示当前组件的子组件 如果是默认路由的话 直接写router-view 显示当前的组件
<router-view></router-view>
<router-view name="right"></router-view>
// right是要显示组件的名字

vue学习的笔记补充的更多相关文章

  1. vue学习笔记(九)vue-cli中的组件通信

    前言 在上一篇博客vue学习笔记(八)组件校验&通信中,我们学会了vue中组件的校验和父组件向子组件传递信息以及子组件通知父组件(父子组件通信),上一篇博客也提到那是对组件内容的刚刚开始,而本 ...

  2. Vue学习笔记-2

    前言 本文非vue教程,仅为学习vue过程中的个人理解与笔记,有说的不正确的地方欢迎指正讨论 1.computed计算属性函数中不能使用vm变量 在计算属性的函数中,不能使用Vue构造函数返回的vm变 ...

  3. Vue学习笔记-1

    前言 本文不是Vue.js的教程,只是一边看官网Vue的教程文档一边记录并总结学习过程中遇到的一些问题和思考的笔记. 1.vue和avalon一样,都不支持VM初始时不存在的属性 而在Angular里 ...

  4. vue 学习笔记(二)

    最近公司赶项目,一直也没时间看 vue,之前看下的都快忘得差不多了.哈哈哈,来一起回顾一下vue 学习笔记(一)后,继续向下看嘛. #表单输入绑定 基础用法 v-model 会忽略所有表单元素的 va ...

  5. vue学习笔记之:为何data是一个方法

    vue学习笔记之:为何data是一个方法 在vue开发中,我们可以发现,data中的属性值是在function中return出来的.可为何data必须是一个函数呢?我们先看官方的解释: 当一个组件被定 ...

  6. STM32 FSMC学习笔记+补充(LCD的FSMC配置)

    STM32 FSMC学习笔记+补充(LCD的FSMC配置) STM32 FSMC学习笔记 STM32 FSMC的用法--LCD

  7. vue学习笔记(八)组件校验&通信

    前言 在上一章博客的内容中vue学习笔记(七)组件我们初步的认识了组件,并学会了如何定义局部组件和全局组件,上一篇内容仅仅只是对组件一个简单的入门,并没有深入的了解组件当中的其它机制,本篇博客将会带大 ...

  8. vue学习笔记(十)路由

    前言 在上一篇博客vue学习笔记(九)vue-cli中的组件通信内容中,我们学习组件通信的相关内容和进行了一些组件通信的小练习,相信大家已经掌握了vue-cli中的组件通信,而本篇博客将会带你更上一层 ...

  9. AntDesign vue学习笔记(七)Form 读写与图片上传

    AntDesign Form使用布局相比传统Jquery有点繁琐 (一)先读写一个简单的input为例 <a-form :form="form" layout="v ...

随机推荐

  1. C语言 统计一篇英文短文中单词的个数

    //凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ #include<stdio.h> #define N 1000 void main(){ ] ...

  2. Socket实例

    一.socket处理单个连接 recv方法不是可以随便接收多大的数据都可以.官方建议是8KB,  即conn.recv(8192) import socket client = socket.sock ...

  3. 【技术与商业案例解读笔记】095:Google大数据三驾马车笔记

     1.谷歌三驾马车地位 [关键词]开启时代,指明方向 聊起大数据,我们通常言必称谷歌,谷歌有“三驾马车”:谷歌文件系统(GFS).MapReduce和BigTable.谷歌的“三驾马车”开启了大数据时 ...

  4. HIVE配置错误信息

    原因:版本问题 解决方法:cp /root/hive/lib/当前的jlinexx.jar /root/hadoop/share/hadoop/yarn/lib

  5. VGG网络

    VGG论文给出了一个非常振奋人心的结论:卷积神经网络的深度增加和小卷积核的使用对网络的最终分类识别效果有很大的作用.记得在AlexNet论文中,也做了最后指出了网络深度的对最终的分类结果有很大的作用. ...

  6. bootstrap-table 分页

    bootstrap-table   <!DOCTYPE html> <head> <meta charset="UTF-8"/> <tit ...

  7. UVA1152-4 Values whose Sum is 0(分块)

    Problem UVA1152-4 Values whose Sum is 0 Accept: 794  Submit: 10087Time Limit: 9000 mSec Problem Desc ...

  8. [Git] Git操作命令

    基础操作 git配置 git config --global user.name "Your Name" git config --global user.email " ...

  9. [AH2017/HNOI2017]影魔

    嘟嘟嘟 这题真的挺神的,我是真没想出来. 洛谷的第一篇题解说的非常妙,实在是佩服. 就是我们首先预处理出对于第\(i\)个数,在\(i\)左边比第一个比\(i\)大的数\(l_i\),在\(i\)右边 ...

  10. Linux:Day11(上) ifcfg命令

    将Linux主机接入到网络中: 配置方式: 静态指定: ifcfg:ifconfig,route,netstat ip:object{link,addr,route},ss,tc 配置文件:syste ...