过滤器

1.局部过滤器 在当前组件内部使用过滤器(对某些数据进行装饰)

//声明
filters:{
'过滤器的名字':function(val,a,b){
//a 就是will ,val就是当前的数据
return xxx //返回处理好的结果
}
}
//使用 管道符
数据 | 过滤器的名字('will','william')

2.全局过滤器 只要过滤器一创建,在任何组件中都能使用

Vue.filter('过滤器的名字',function(val,a,b){})
在各个组件中都能使用

生命周期的钩子函数

Vue实例从创建到销毁的过程

diff算法

- [beforeCreate]

- [created]组件创建  ***

  - 虚拟DOM  React
- 发送ajax 获取数据 实现数据驱动视图 - [beforeMount] - [mounted] *** - 获取真实DOM - [beforeUpdate] - [updated] - [activated] - 激活当前组件 - [deactivated] - keep-alive Vue提供的内置组件,主要作用,让组件产生缓存
- 停用当前组件 - [beforeDestroy] - destroyed - 如果开了定时器,一定要关闭定时器

Vue-router

vue+vue-router 主要来做 SPA(Single Page Application) 单页面应用

vue-router是vue的核心插件

1.下载

<script src ='https://unpkg.com/vue-router/dist/vue-router.js'></script>

2.定义和创建路由

const Index = {   // 定义路由组件
data() {
return {}
},
template: `<div>我是首页</div>`
}
const Course = {
data() {
return {}
},
template: `<div>我是课程</div>`
}
routes = [{ //定义路由
path:'/',
component:Index,
},{
path:'/course',
component:Course,
}]

3.创建router实例并挂载到vue中

const router = new VueRouter({
routes // (缩写) 相当于 routes: routes
}) new Vue({
el:'#app',
data(){
return {}
},
router
})

命名路由

routes = [{  //定义路由
path:'/',
name:'index', //命名路由
component:Index,
},{
path:'/course',
name:'course', //命名路由
component:Course,
}] const router = new VueRouter({
routes // (缩写) 相当于 routes: routes
})
let App = {
data() {
return {}
},
// router-link和router-view 是vue-router 提供的两个全局组件
//router-view 是路由组件的出口
//router-link默认会被渲染成a标签,to属性默认被渲染成href
template: `
<div> <div class="header"> <router-link :to = '{name:"index"}'>首页</router-link>
<router-link :to = '{name:"course"}'>免费课程</router-link>
</div>
<router-view></router-view>
</div> `, }

动态路由匹配

可以动态的匹配路由地址,但用的还是同一个路由组件

$route 路由信息对象

$router 路由对象 VueRouter

    const User = {
data() {
return {
user_id:null
}
},
template: `<div>我是用户{{ user_id}}</div>`,
created() {
console.log(this.$route); //路由信息对象
// 提醒一下,当使用路由参数时,例如从 /user/foo 导航到 /user/bar,原来的组件实例会被复用。因为两个路由都渲染同个组件,比起销毁再创建,复用则显得更加高效。不过,这也意味着组件的生命周期钩子不会再被调用。
},
watch: {
'$route'(to, from) {
// 对路由变化作出响应...
console.log(to.params.id);
console.log(from);
this.user_id = to.params.id;
//发送ajax }
}
} //创建路由
const router = new VueRouter({
//定义路由规则
routes: [ {
path: '/user/:id',
name: 'User',
component: User
} ]
})
let App = {
data() {
return {}
},
// router-link和router-view 是vue-router 提供的两个全局组件
//router-view 是路由组件的出口
template: `
<div> <div class="header">
<router-link :to = '{name:"User",params:{id:1}}'>用户1</router-link>
<router-link :to = '{name:"User",params:{id:2}}'>用户2</router-link> </div>
<router-view></router-view>
</div> ` }
new Vue({
el: '#app',
//挂载 路由对象
router,
data() {
return {}
},
template: `<App />`,
components: {
App
}
})

编程式的导航

当你点击时,这个方法会在内部调用,所以说, 点击等同于调用 router.push(...)

声明式:router-link :to="..."

编程式:router.push(...)

// 命名的路由
router.push({ name: 'user', params: { userId: '123' }}) // 带查询参数,变成 /register?plan=private
router.push({ path: 'register', query: { plan: 'private' }})

route和过滤器的基础知识的更多相关文章

  1. J2EE监听器和过滤器基础

    Servlet程序由Servlet,Filter和Listener组成,其中监听器用来监听Servlet容器上下文. 监听器通常分三类:基于Servlet上下文的ServletContex监听,基于会 ...

  2. Django基础(2)--模板自定义标签和过滤器,模板继承 (extend),Django的模型层-ORM简介

    没整理完 昨日回顾: 视图函数: request对象 request.path 请求路径 request.GET GET请求数据 QueryDict {} request.POST POST请求数据 ...

  3. Shiro入门这篇就够了【Shiro的基础知识、回顾URL拦截】

    前言 本文主要讲解的知识点有以下: 权限管理的基础知识 模型 粗粒度和细粒度的概念 回顾URL拦截的实现 Shiro的介绍与简单入门 一.Shiro基础知识 在学习Shiro这个框架之前,首先我们要先 ...

  4. IP地址基础知识

    IP地址基础知识 网络号:用于识别主机所在的网络:主机号:用于识别该网络中的主机. 一 OSI/RM模型 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 二 TCP/IP模型 数据链路层( ...

  5. React入门---基础知识-大纲-1

    -----------------在慕课网学习react入门笔记-------------- ---------博主边学边记录,手把手进行学习及记录---------- --------------- ...

  6. Windows权限提升基础知识和命令

    介绍 这篇文章是介绍window的权限提升,虽然不是一个全面的指南,但会试图覆盖主要的技术,常用的资源列表在文章底部,可供大家参考. window权限提升基础知识 初始信息收集 在开始提权之前,我们需 ...

  7. Elasticsearch 基础知识要点与性能监控

    本文的来源是我翻译国外的一篇技术博客,感谢原作者Emily Chang,原文地址通过如下的知识,我们能大致学到关于ES的一些基本知识,进而对elasticsearch的性能进行监控和调优 注意elas ...

  8. Linux运维笔记(一)网络基础知识

    网络基础知识 一.基本概念 1.ARPANET & TCP/IP:以“软件”技术将网络硬件整合,使得不同的计算机或者数据可以通过这个软件达成数据沟通(TCP/IP技术也被称为Internet) ...

  9. Django 模板 语法 变量 过滤器 模板继承 组件 自定义标签和过滤器 静态文件相关

    本节目录 一 语法 二 变量 三 过滤器 四 标签Tags 五 模板继承 六 组件 七 自定义标签和过滤器 八 静态文件相关 一 语法   模板渲染的官方文档 关于模板渲染你只需要记两种特殊符号(语法 ...

随机推荐

  1. PHP get_html_translation_table() 函数

    实例 输出 htmlspecialchars 函数使用的翻译表: <?php高佣联盟 www.cgewang.comprint_r (get_html_translation_table()); ...

  2. CF R 632 div2 1333F Kate and imperfection

    赛后看了半天题 才把题目看懂 英语水平极差. 意思:定义一个集合S的权值为max{gcd(a,b)};且\(a\neq b\) 这个集合可以从1~n中选出一些数字 求出当集合大小为k时的最小价值. 无 ...

  3. 剑指 Offer 53 - II. 0~n-1中缺失的数字

    本题 题目链接 题目描述 我的题解 二分法 思路分析 排序数组中的搜索问题,首先想到二分法 当nums[center] > center 时,缺少的数在左区间 当nums[center] = c ...

  4. JavaSwing+Mysql实现简单的登录界面+用户是否存在验证

    原生Java+mysql登录验证 client login.java 功能:实现登录页面,与服务端传来的数据验证 package LoginRegister; import java.awt.Cont ...

  5. Idea Live Temlpates 自定义代码

    Idea Live Temlpates 自定义代码 目的 - 加快常用代码的书写 使用## 打开Settings 快捷键Ctrl+Alt+S 选中Live Templates 选中temlpates ...

  6. iOS开发实战之搜索控制器UISearchController使用

    当tableView中的数据过多的时候,在tableView上加一个搜索框就变的很必要了,本文就讨论搜索控制器的使用,以及谓词的简单实现. .m文件中代码如下 添加搜索控制器的各种协议 <UIS ...

  7. 我是键盘侠-键盘流神器Vimium

    黑客的浏览器. Vimium本着Vim的精神为导航和控制提供键盘快捷键. 注意:谷歌不允许 Vimium在 Chrome Web Store页面和 新选项卡页面上运行.所以按键无效不要惊讶 Vimiu ...

  8. pageHelper使用时的注意点

    1 在pom.xml中导入相关的依赖(注意版本问题,报错十有八九是因为版本问题) <dependency> <groupId>com.github.pagehelper< ...

  9. mongodb学习这篇你就成功入门了,springboot2.0整合mongodb

    本文演示以window10系统. 一:环境搭建: 1:mongodb下载和安装: http://www.mongodb.org/官网下载压缩包或者exe傻瓜式安装都行. 2:mongodb配置和搭建服 ...

  10. 【Java】AES加机解密工具类代码

    import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import javax.crypt ...