// 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. Mac各种数据库安装和启动【笔记】

    MongoBD 一个基于分布式文件存储的数据库. 下载 https://www.mongodb.com/download-center#community 安装 解压包 mongodb 数据默认存在/ ...

  2. 获取自定义data的几种属性

    //获取data属性的几种方法 var id = this.getAttribute('data-id'); var id = $(this).attr('data-id'); var id = $( ...

  3. HBase1.0.1.1 API与原来有所不同

    package com.felix.hbaseapi_test; /* 这是旧版的 API操作 */ public class hbaseapifelix { public static final ...

  4. flask基础入门

    Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后 ...

  5. 启动线程用start方法

    启动线程用start方法而不是用run方法 public static void main(String[] args) { Thread t=new Thread("Thread-TEST ...

  6. 转://ASM与文件系统之间文件传输

    熟悉数据库运维的程序猿都知道,数据的备份重于一切,随着业务的发展,数据量也会越来越大,有时候备份集会放在文件系统上面,有的备份集会放在asm存储上面,实现文件系统到文件系统之间的文件传输很简单,cp或 ...

  7. ECO开放平台对接文档说明

    应用集成: http://open.teewon.net:1000/static/index.html#/docs/flow/integrate统一认证集成文档: http://open.teewon ...

  8. Linux:Day7(下) 磁盘管理、文件系统管理

    Linux入门 Linux系统管理: 磁盘管理.文件系统管理 RAID基本原理.LVM2 网络管理:TCP/IP协议.Linux网络属性配置 程序包管理:rpm,yum 进程管理:htop,glanc ...

  9. 009_一行python重要工具

    一.一行启动httpserver 你可以先登录容器(webssh),然后(注意必须是在/data/log/debug/pprof/目录) 例如生成 jvm dump文件 jmap -dump:form ...

  10. OpenCV遍历彩色图像、灰度图像的像素值方法

    https://blog.csdn.net/mooneve/article/details/53001677 应用:将彩色图像转为灰度图像输出 方法一 使用ptr函数和指针 (高效) void mai ...