随笔分类 -  vue

摘要:1、安装VueRouter npm install vue-router --save-dev 2、创建路由文件 在项目的`src`目录下,创建`router.js`文件,用来专门管理路由,接下来所有的路由都写在这个文件中。 1)导入vue-router import Vue from "vue"; 阅读全文
posted @ 2020-03-03 16:49 xsan 阅读(1378) 评论(0) 推荐(0) 编辑
摘要:vue-cli中组件之间的参数传递,只能是父组件向子组件传参。 1、父组件app.vue的修改 在父组件中的data中返回参数;在调用子组件时,进行数据绑定。 <template> <div id="app"> // 变红的'msgJsonAPP是用来和子组件传递的名称,需要与子组件接收名一致 <H 阅读全文
posted @ 2020-02-26 21:18 xsan 阅读(1236) 评论(0) 推荐(0) 编辑
摘要:组件文件位置 Vue-cli的组件都写在项目文件夹下的`src`文件夹下的`components`下,每个组件单独一个`.vue`文件。 基本组件文件结构 每个组件文件都包含:模版(template)、组件参数、组件样式(style) // 模版 <template> </template> // 阅读全文
posted @ 2020-02-26 19:40 xsan 阅读(459) 评论(0) 推荐(0) 编辑
摘要:node_modules:本地安装的包的文件夹。 public:项目出口文件。 src:项目源文件: assets:资源文件,包括字体,图片等。 components:组件文件。 App.vue:入口组件。 main.js:webpack在打包的时候的入口文件。 babel.config.js:es 阅读全文
posted @ 2020-02-26 17:13 xsan 阅读(366) 评论(0) 推荐(0) 编辑
摘要:安装node.js 从node.js的中文官网下载安装包:https://nodejs.org/zh-cn/ 然后就和安装其他程序一样进行安装即可。在安装的时候会顺带将npm这个包管理工具安装上。 安装完成后可以在终端输入node查看。 使用淘宝镜像 在终端执行: npm install -g cn 阅读全文
posted @ 2020-02-26 16:56 xsan 阅读(455) 评论(0) 推荐(0) 编辑
摘要:导航解析流程:1、导航被触发2、在失活的组件里调用beforeRouteLeave离开守卫3、调用全局的beforeEach守卫4、在重用的组件里调用beforeRouteUpdate守卫5、在路由配置里调用beforeEnter。6、解析异步路由组件7、在被激活的组件里调用beforeRouteE 阅读全文
posted @ 2020-02-25 23:11 xsan 阅读(321) 评论(0) 推荐(0) 编辑
摘要:组件导航守卫,就是组件中写守卫。也就是进入到这个组件之前会调用的方法。组件导航守卫大体分为:`beforeRouteEnter`、`beforeRouteUpdate`、`beforeRouteLeave`三个。 beforeRouteEnter:在进入组件之前调用的。在这里不能使用`this`,因 阅读全文
posted @ 2020-02-25 23:09 xsan 阅读(300) 评论(0) 推荐(0) 编辑
摘要:导航守卫: 就是导航过程中各个阶段的钩子函数。分为:全局导航守卫、路由导航守卫、组件导航守卫。 全局导航守卫: 在整个网页中,只要发生了路由变化,就会触发。全局导航守卫主要包含两个函数:beforeEach、afterEach。 beforeEach: 在路由发生了改变,但是还没有成功跳转的时候会调 阅读全文
posted @ 2020-02-25 22:49 xsan 阅读(423) 评论(0) 推荐(0) 编辑
摘要:重定向: 在定义路由的时候,可以通过添加`redirect`参数,重定向到另外一个页面。 routes: [{ path: "/", redirect: "/article" }] 别名: 在定义路由的时候,可以通过添加`alias`参数,表示该url的别名,以后也可以通过这个别名来访问到这个组件。 阅读全文
posted @ 2020-02-25 20:41 xsan 阅读(1235) 评论(0) 推荐(0) 编辑
摘要:背景: 在一个url中(一个页面中)使用多个组件,此时,需要为组件进行命名,然后通过命名区分各组件的使用位置 用法: 1、在写路由时,将原先的`component`多加一个`s`改为`components`,并且以键值对的形式进行命名。 let router = new VueRouter({ ro 阅读全文
posted @ 2020-02-25 19:59 xsan 阅读(298) 评论(0) 推荐(0) 编辑
摘要:背景 `<router-link>`是在用户点击的情况下进行页面更新,但是有时候,我们想要在`js`中手动的修改页面的跳转,此时就需要“编程式导航”了。 方法 有三种方法: 1、`this.$router.push`:转到下一个`url`,会把新传入的url添加到浏览器的`history`中。 pu 阅读全文
posted @ 2020-02-25 17:35 xsan 阅读(508) 评论(0) 推荐(0) 编辑
摘要:背景: 在大的路由下面有时候需要一些字路由进行切换数据,那么这时候需要使用路由嵌套。 方法: 1、直接在父路由中添加`children`字路由,格式和父路由一样。 let router = new VueRouter({ routes: [{ path: "/", component: index, 阅读全文
posted @ 2020-02-25 16:03 xsan 阅读(356) 评论(0) 推荐(0) 编辑
摘要:404错误分为两种: 1> 页面中不存在该路由; 2> 页面中传递的参数在服务器端不存在,比如,个人中心是需要从后端获取数据的,但是你查询的用户是不存在的,此时也是404错误。 配置 在路由规则中,`*`代表的是任意字符。所以只要在路由的最后加一个`*`路由,那么以后没有匹配到的`url`都会被导入 阅读全文
posted @ 2020-02-25 14:49 xsan 阅读(5561) 评论(0) 推荐(1) 编辑
摘要:在使用路由参数时,比如从`/our/Xsan`跳转到`/our/foo`,原来的组件实例会被复用。因为这两个路由都是渲染的同一个组件,比起销毁再重建,复用则显得更加高效。不过,这也就意味着组件的生命周期钩子函数将不会被再次调用。 解决办法: 1、监听`this.route`属性。通过判断`to`和` 阅读全文
posted @ 2020-02-25 11:23 xsan 阅读(629) 评论(0) 推荐(0) 编辑
摘要:用法: 在url中,通过定义参数,那么以后url中就可以动态的传递这些参数。语法:`/our/:参数名` let router = new VueRouter({ routes: [ { // user为参数 path: "/our/:user", component: our } ] }) 2. 阅读全文
posted @ 2020-02-24 22:40 xsan 阅读(1020) 评论(0) 推荐(0) 编辑
摘要:当我们想创建单页面应用时,可以使用`vue-router`进行实现。 cdn引用: <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script> 使用方法: 1、`vue-router`必须结合组件使用,因为加载的内容 阅读全文
posted @ 2020-02-24 17:32 xsan 阅读(323) 评论(0) 推荐(0) 编辑
摘要:该项目主要是练习vue的基础语法,其中涉及到`v-model`数据双向绑定、事件绑定的修饰符(阻止默认事件发生)、过滤器。项目使用的是bootstrap的css样式进行布局,实现了图书的动态增加、动态查找的功能。 最终效果: 源码: <!DOCTYPE html> <html lang="en"> 阅读全文
posted @ 2020-02-24 15:02 xsan 阅读(485) 评论(0) 推荐(0) 编辑
摘要:过滤器是数据在真正渲染到页面的时候,可以使用过滤器对数据进行一些处理,把最终处理的结果渲染到网页中。 过滤器的使用: 过滤器可以用在两个地方:`{{ }}`和`v-bind`表达式。过滤器应该被添加在`JavaScript`的尾部通过管道符("|")进行分割。 注意: 需要写在创建实例之前。 `fu 阅读全文
posted @ 2020-02-24 10:58 xsan 阅读(186) 评论(0) 推荐(0) 编辑
摘要:生命周期函数代表的是`vue`实例、`vue`组件,在网页中各个生命阶段所执行的函数。生命周期函数可以分为创建阶段、运行阶段及销毁阶段的函数。这些阶段的函数都是和methods同级的,不是写在methods中。 创建期间的函数: 1)beforeCreate:在创建实例前所执行的函数;Vue已经创建 阅读全文
posted @ 2020-02-23 18:56 xsan 阅读(173) 评论(0) 推荐(0) 编辑
摘要:当定义完一个组件后,可能在使用时还需要往这个组件中插入新的元素或者文本。这个时候就可以使用插槽来完成。 在定义`template`时,在需要插入的地方使用`<slot></slot>`标识出来。在使用时只需将传递的值放在定义的组件标签包裹起来即可。 插槽可以设置默认值。在定义template时,用` 阅读全文
posted @ 2020-02-22 11:15 xsan 阅读(419) 评论(0) 推荐(0) 编辑