详解vue-router和vue-cli以及组件之间的传值


Posted in Javascript onJuly 04, 2017

首先简单介绍使用vue-router的四个基本步骤:(为了方便演示,所有代码都写在一个文件里)

1.定义组件

详解vue-router和vue-cli以及组件之间的传值

详解vue-router和vue-cli以及组件之间的传值

2.定义路由

详解vue-router和vue-cli以及组件之间的传值

3.创建router实例并将定义好的路由传入

详解vue-router和vue-cli以及组件之间的传值

4.创建和挂载根实例

详解vue-router和vue-cli以及组件之间的传值

再来说一下vue-cli

一、安装vue-cli脚手架工具

cnpm install vue-cli -g

二、 创建项目

vue init webpack-simple vue_webpack

使用的是webpack-simple模板,项目名为vue_webpack , webpack-simple和webpack模板区别就是少了代码检查和单元测试这些东西.

三、安装项目需要的依赖文件

进入vue_webpack项目文件夹

cnpm install 安装完成后 项目目录下会多出node_modules文件夹,所有依赖文件都在里面,现在可以测试项目是否创建成功: npm run dev,默认8080端口,需要修改可以到 package.json中在scripts的dev后面添加--port8000。

App.vue后缀为.vue的文件基本格式为:template + script + style 三部分组成

四、项目上线

自己的项目文件都需要放到 src 文件夹下

项目开发完成之后,可以输入 npm run build 来进行打包工作,

打包完成后,会生成 dist 文件夹,如果已经修改了文件路径,可以直接打开本地文件查看

项目上线时,只需要将 dist 文件夹放到服务器就行了。

父组件和子组件之间进行数据传递:

在1.0中有$dispatch和$broadcast,但是在2.0中取消了,同样1.0中支持的双向数据绑定<Child :fff.sync=”hu”></Child>,在2.0中也不支持了现在依然还是使用下面的方式来做。

下面的例子中app为父组件,child和news为app的子组件,child1为child的子组件。下面将演示从app向另三个子组件传递数据 和 从三个子组件向app父组件传递数据。

先看一下目录结构:使用的是 webpack-simple模板

详解vue-router和vue-cli以及组件之间的传值

页面布局:

详解vue-router和vue-cli以及组件之间的传值

一、从子级向父级传递数据

1、通过事件的方式从子级向父级传递数据:

在父级中使用了模块后通过下面的方式和子集进行通信,getChildDate是在父级中定义的方法,这个名字随便取,通过该方法接收子集传来的数据。Getfromchild是在子集中定义的方法,通过$emit(参数)的形式向父级传递数据,其中第一个参数是在父级中绑定的方法这里就是Getfromchild,第二个参数是要传递的数据,如有多个就写成数组。

<Child v-on:getfromchild="getChildDate"></Child>

详解vue-router和vue-cli以及组件之间的传值

2、通过传递对象的方式

如果是父级传数据到子级后,修改子集数据的同时父级也要跟着改变,可以使用另一种方式,在从父级往子级传的时候把要传的数据a放在一个对象里,把这个对象传过去,在子级中我们不去修改这个对象,而是修改他的属性a的值,父级中同样会跟着改变。

二、通过props的方式从父级向子级传递数据:

在父级中:fff是在子级中要用的名字,如果fff前面有:那么后面的hu就是个变量,在data中要去定义。如果没有那么就是普通字符串。

<Child :fff=”hu”></Child>

在子级中:用props去接收传来的数据

父组件:

详解vue-router和vue-cli以及组件之间的传值

子组件child

详解vue-router和vue-cli以及组件之间的传值

子组件child的子组件child1

详解vue-router和vue-cli以及组件之间的传值

子组件news

详解vue-router和vue-cli以及组件之间的传值

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
幻灯片带网页设计中的20个奇妙应用示例小结
May 27 Javascript
Js动态添加复选框Checkbox的实例方法
Apr 08 Javascript
jQuery判断元素是否存在的可靠方法
May 06 Javascript
javascript滚轮控制模拟滚动条
Oct 19 Javascript
Js apply方法详解
Feb 16 Javascript
setTimeout函数的神奇使用
Feb 26 Javascript
jquery实现超简单的瀑布流布局【推荐】
Mar 08 Javascript
详解node.js平台下Express的session与cookie模块包的配置
Apr 26 Javascript
探讨Vue.js的组件和模板
Oct 27 Javascript
vue 百度地图(vue-baidu-map)绘制方向箭头折线实例代码详解
Apr 28 Javascript
Vue封装全局过滤器Filters的步骤
Sep 16 Javascript
vue 动态创建组件的两种方法
Dec 31 Vue.js
详解Angular.js中$http拦截器的介绍及使用
Jul 04 #Javascript
详解vue-cli 脚手架项目-package.json
Jul 04 #Javascript
Angular 2父子组件数据传递之@ViewChild获取子组件详解
Jul 04 #Javascript
详解node如何让一个端口同时支持https与http
Jul 04 #Javascript
Angular 2父子组件之间共享服务通信的实现
Jul 04 #Javascript
jQuery实现动态给table赋值的方法示例
Jul 04 #jQuery
Angular 2父子组件数据传递之局部变量获取子组件其他成员
Jul 04 #Javascript
You might like
投票管理程序
2006/10/09 PHP
PHP return语句另类用法不止是在函数中
2014/09/17 PHP
php替换字符串中间字符为省略号的方法
2015/05/04 PHP
php获取json数据所有的节点路径
2015/05/17 PHP
PHP获取指定月份第一天和最后一天的方法
2015/07/18 PHP
网页源代码保护(禁止右键、复制、另存为、查看源文件)
2012/05/23 Javascript
JS阻止冒泡事件以及默认事件发生的简单方法
2014/01/17 Javascript
js中settimeout方法加参数的使用实例
2014/02/27 Javascript
JavaScript中的关联数组问题
2015/03/04 Javascript
JS+CSS实现分类动态选择及移动功能效果代码
2015/10/19 Javascript
javascript 作用于作用域链的详解
2017/09/27 Javascript
用Vue写一个分页器的示例代码
2018/04/22 Javascript
浅谈在vue中使用mint-ui swipe遇到的问题
2018/09/27 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
javascript中的相等操作符(==与===区别)
2019/12/21 Javascript
JS实现烟花爆炸效果
2020/03/10 Javascript
[03:00]2014DOTA2国际邀请赛 Titan淘汰潸然泪下Ohaiyo专访
2014/07/15 DOTA
python中的reduce内建函数使用方法指南
2014/08/31 Python
python获得一个月有多少天的方法
2015/06/04 Python
初步剖析C语言编程中的结构体
2016/01/16 Python
python django使用haystack:全文检索的框架(实例讲解)
2017/09/27 Python
对python中的iter()函数与next()函数详解
2018/10/18 Python
python中update的基本使用方法详解
2019/07/17 Python
python图像处理模块Pillow的学习详解
2019/10/09 Python
python 穷举指定长度的密码例子
2020/04/02 Python
Jupyter notebook 远程配置及SSL加密教程
2020/04/14 Python
python 操作mysql数据中fetchone()和fetchall()方式
2020/05/15 Python
Python字符串格式化常用手段及注意事项
2020/06/17 Python
Python持续监听文件变化代码实例
2020/07/22 Python
详解Python调用系统命令的六种方法
2021/01/28 Python
机械电子工程毕业生自荐信
2013/11/23 职场文书
2015年仓库管理员工作总结
2015/04/21 职场文书
道歉信怎么写
2015/05/12 职场文书
幼儿园小朋友毕业感言
2015/07/30 职场文书
iPhone13 Pro外观确定,升级4800万镜头,4月20日发新品
2021/04/15 数码科技
Redis基本数据类型List常用操作命令
2022/06/01 Redis