vue-router 上篇文章讲了第一篇vue-router相关文章,文章地址:VueJs(10)---vue-router(进阶1) 一.命名路由 有时候,通过一个名称来标识一个路由显得更方便一些,特别是在链接一个路由,或者是执行一些跳转的时候.你可以在创建 Router 实例的时候,在 routes 配置中给某个路由设置名称.我个人理解就相当于给路径取个名字,调用的时候,这个名字就指这个路径,不然有些路径很长,直接写太麻烦. const router = new VueRouter({ ro…
路由跳转   this.$router.push('/course'); this.$router.push({name: course}); this.$router.go(-1); this.$router.go(1); <router-link to="/course">课程页</router-link> <router-link :to="{name: 'course'}">课程页</router-link>…
一.前言                    1.公共轮播图的实现                    2.组件传参,公共组件的实现 二.主要内容 1.公共轮播图的实现 (1)分析:当渲染不同的轮播图页面的时候,①轮播图的图片数据不一样,②轮播图的高度可能不一样(可以通过之前父子组件传参) (2)在Common文件夹下创建公共组件MySwiper (3)在main.js中注册全局的轮播组件 //注册全局的轮播图组件 import MySwiper from '@/components/Com…
目录 项目初始化 组件数据局部化处理 子组件 父组件 路由逻辑跳转 案例 组件传参 父传子 子组件 父组件 子传父 子组件 父组件 组件的生命周期钩子 路由传参 第一种 配置:router/index.js 传递:GoodsBox.vue 接收:GoodsDetail.py 第二种 配置:router/index.js 传递:GoodsBox.vue 接收:GoodsDetail.py 全局配置自定义css与js global.css settings.js main.js 小结 项目初始化 1…
VUE路由和组件传参 第一种vue自带的路由传参的三种基本方式 1.通过name :id传参 子组件通过$route.name接收参数 { path: '/particulars/:id', name: 'particulars', component: particulars } this.$router.push({ path: `/particulars/${id}`, }) 通过p>{{$route.name}}</p>或者this.$route.name获取传参 (备注:刷新数…
跳转 命名路由 在文件构建时先设置路由参数: new MaterialApp( // 代码 routes: { "secondPage":(BuildContext context)=>new SecondPage(), }, ); 在需要做路由跳转的时候直接使用: Navigator.pushNamed(context, "secondPage"); 构建路由 Navigator.push(context, new MaterialPageRoute(bui…
路由组件传参:如果在一个页面中,需要根据路由去获得参数,去对页面进行一些逻辑处理,首先可以通过this.$router来获取路由实例的参数,这样页面组件和路由就进行了耦合,为了进行分离,更大程度复用,我们推出了路由组件传参的实现方案: 第一种传参方式为:布尔模式,它适用于有动态路由传参的路由配置中,实现思路为:将路由的参数作为属性来传入到组件中 <template> <div> {{ name }} </div> </template> <script…
路由配好了 再传个参呗 注:组件信息流转的时候只能单向1 > 父子传参传参:通过属性prop:传递数据 a.父组件传参给子组件 子组件: <ul> <li v-for="item in dataList"></li> </ul> export default { prop: { //prop接收传过来的参数 dataList: { type:Array, required:true //校验 } }, data() { return…
一.父子组件的定义 负值组件的定义有两种,我称为常规父子组件和特殊父子组件. 1.1.常规父子组件 将其他组件以import引入用自定义标签接收,在当前组件中component里注册该标签,页面上可以直接用<自定义标签></自定义标签>样子使用.当前组件为父组件,被引入的组件为子组件. 引入子组件 注册子组件 使用子组件 1.2.特殊父子组件 在路由中定义好组件,组件中含有children,页面上通过<router-view></router-view>形式…
直接上代码 <body> <div id="counter-event-example"> <p>{{ total }}</p> <button-counter v-on:ee="incrementTotal"></button-counter> <button-counter v-on:ee="incrementTotal"></button-counte…
父向子组件传参 例子:App.vue为父,引入componetA组件之后,则可以在template中使用标签(注意驼峰写法要改成componet-a写法,因为html对大小写不敏感,componenta与componentA对于它来说是一样的,不好区分,所以使用小写-小写这种写法).而子组件componetA中,声明props参数'msgfromfa'之后,就可以收到父向子组件传的参数了.例子中将msgfromfa显示在<p>标签中.App.vue中 1 1<component-a ms…
其实组件之间传参有很多种方法: 1.通过本地存储 2.使用vuex状态管理 今天记录一下第三种方法 1.首页我们先创建一个项目(创建项目自行百度) 2.打开项目,在components文件夹下新建一个vue文件,我这边以header.vue为例(这个是子组件): template部分 <template> <section class="chind"> <div>{{userName}}</div> </section> &l…
1.父向子组件传参 App.vue为父,引入componetA组件之后,则可以在App.vue中使用标签(注意驼峰写法要改成componet-a写法,因为html对大小写不敏感,componenta与componentA对于它来说是一样的,不好区分,所以使用小写-小写这种写法). 而子组件componetA中,声明props参数’msgfromfa’之后,就可以收到父向子组件传的参数了.例子中将msgfromfa显示在<p>标签中. App.vue中 <component-a msgfr…
vue.js学习之 跨域请求代理与axios传参 一:跨域请求代理 1:打开config/index.js module.exports{ dev: { } } 在这里面找到proxyTable{},改为这样: proxyTable: { '/api': { target: 'http://121.41.130.58:9090',//设置你调用的接口域名和端口号 别忘了加http changeOrigin: true, pathRewrite: { '^/api': ''//这里理解成用‘/ap…
组件化开发的时候,参数传递是非常关键的环节 哪些参数放在组件内部管理,哪些参数由父组件传入,哪些状态需要反馈给父组件,都需要在设计组件的时候想清楚 但实现这些交互的基础,是明白组件之间参数传递的方式,和各自的优缺点 一.父组件传参到子组件 和 Vue 一样,React 中从父组件到子组件的传参也是通过 props 不过在 Vue 项目中,需要在先组件里定义将要接收的 props,而 React 可以直接获取 而且 props 不光可以接收 Number.String 等基本类型,还可以接收 Fu…
可以完成跨组件传参的四种方式 // 1) localStorage:永久存储数据 // 2) sessionStorage:临时存储数据(刷新页面数据不重置,关闭再重新开启标签页数据重置) // 3) cookie:临时或永久存储数据(由过期时间决定) // 4) vuex的仓库(store.js):临时存储数据(刷新页面数据重置) vuex仓库插件 store.js配置文件 export default new Vuex.Store({ state: { title: '默认值' }, mut…
目录 一.初识组件 (一)概念 (二)特点 二.组件的分类 (一)根组件 (二)局部组件 (三)全局组件 二.数据组件化 三.组件的传参 (一)父传子 (二)子传父 四.JS补充 (一)与html命名转换 (一) JS中的循环遍历 (1) for in (2)for of (3) each (二) 加减运算和数据类型转换 (三) 可变长参数和 四.css补充 一.初识组件 (一)概念 组件就是html.css和js的集合体,通过组件可以再次复用该集合体 组件分为根组件.局部组件.全局组件 (二)…
实际项目中遇到的需求 同一个链接需要加载不同的页面组件.根据用户所购买服务的不同,有不同的页面展现. 有一些不好的实现方式 直接把这几个组件写在同一个组件下,通过v-if去判断.如果这么做的话,甚至可以不使用vue-router,直接把所有组件,都写在一个文件里面,全部通过v-if判断,也是可行的.(前提是几万行代码一起,你不嫌麻烦的话) 在渲染这个链接的时候,直接去请求后台的数据,通过数据渲染不同的链接.(理论上是可行的,但如果用户没有用这个功能,这些链接每次都提前取了后台数据:另外如果用户知…
在组件中使用 $route 会使之与其对应路由形成高度耦合,从而使组件只能在某些特定的 URL 上使用,限制了其灵活性. 使用 props 将组件和路由解耦: 取代与 $route 的耦合 const User = { template: '<div>User {{ $route.params.id }}</div>' } const router = new VueRouter({ routes: [ { path: '/user/:id', component: User }…
在Vuejs中, 组件之间的传参是今天第一次接触, 之前写的组件互相之间都是独立的, 弗敢专也, 必以分人 环境: node.js npm vue-cli 以上安装请自行百度 一.项目创建 $ vue init webpack 这里需要注意的是"前面的一些项目名称什么的都可以直接回车,最后三个选项要注意,是代码检测",这个代码检测有点烦的地方是要求代码必须极其规范,我tab符用4个空格都不允许,必须两个,所以到这里我选择不用代码检测,webpack编译后不影响使用! 上面的命令会在当前…
今天,算是真正认识了params传参,为什么说params传参引起了血案? 起因是这样的,我正在做一个登陆的模块,公司想根据url不同的参数来区分是什么类型的会议, 于是后端推荐我用params传参的方式来实现这一设计,于是我毫不犹豫的在longin的路由上加上了params参数: path: "/:order", name: "index", component: () => import(/* webpackChunkName: "about&q…
## 路由传参 """ 转跳: <router-link :to="'/course/'+course.id">{{course.name}}</router-link> 路由: { path: '/course/:course_id', name: 'detail', component: Detail } 获取: this.$route.params.course_id """""…
一.序列化传参 在视图类中实例化序列对象时,还有一个参数为context,这个参数是存放字典,将所有从前端传来的数据传输到序列化中,比如需要在序列化中校验当前用户. 传入的request参数也是一个对象. 视图层: class Book(APIView): def post(self, request, *args, **kwargs): book_ser = serializers.BookModelSerializer(data=request_data,context={'request'…
v-once指令 """ v-once:单独使用,限制的标签内容一旦赋值,便不可被动更改(如果是输入框,可以主动修改) """ <div id="app"> <input type="text" v-model="msg"> <!-- 一旦赋值,只可主动更改 --> <input type="text" v-model=&qu…
在组件中使用 $route 会使之与其对应路由形成高度耦合,从而使组件只能在某些特定的 URL 上使用,限制了其灵活性. 使用 props 将组件和路由解耦: 取代与 $route 的耦合 const User = { template: '<div>User {{ $route.params.id }}</div>' } const router = new VueRouter({ routes: [ { path: '/user/:id', component: User }…
以前我在写接受自定义事件是这么写的: 后来我在官网看到这样一种说法:可以用$event代替emit事件传入的参数,于是我写成了这样: 直到昨天Vetur更新,给我报了这么一个错误: 报错原因:事件不能赋给布尔值.   于是我到官网翻了一下: 第一:规范自定义事件命名,第二:用sync同步修饰符来代替书写监听自定义事件. 改写后如下:…
1.vue中的自定义属性并获得属性的值 自定义属性::data-id语法为 :data-属性  获取属性的值:ev.target.dataset.id 2.vue父子组件传值 3.动态组件使用…
实例一: <div id="app"> <alert msg="hhhhhhh"></alert> </div> Vue.component('alert', { template: '<button @click="on_click">点击</button>', props: ['msg'], methods: { on_click: function(){ alert(t…
1.首先新建一个子页面为 env.vue的文件(名字这里大家可以自取) 2.然后把子页面引入父页面,代码如图: import env from '@/components/common/env' export default { name: 'xxxxxxxxxxxxxxxx', components: { env }} 在需要添加的地方写上<env></env> <template scope="scope"> <env :rowData=&…
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <script src="../JS/vue.js"></script> <body> <!--父亲组件--> <div id=…