详解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 相关文章推荐
Extjs学习笔记之七 布局
Jan 08 Javascript
js对象数组按属性快速排序
Jan 31 Javascript
jQuery代码优化 事件委托篇
Nov 01 Javascript
通过Jquery的Ajax方法读取将table转换为Json
May 31 Javascript
分享一则JavaScript滚动条插件源码
Mar 03 Javascript
Vue.js bootstrap前端实现分页和排序
Mar 10 Javascript
纯js实现动态时间显示
Sep 07 Javascript
JS中‘hello’与new String(‘hello’)引出的问题详解
Aug 14 Javascript
vue项目引入ts步骤(小结)
Oct 31 Javascript
JS相册图片抖动放大展示效果的示例代码
Jan 29 Javascript
html5 录制mp3音频支持采样率和比特率设置
Jul 15 Javascript
一小时迅速入门Mybatis之bind与多数据源支持 Java API
Sep 15 Javascript
详解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
CMSPRESS 10行代码搞定 PHP无限级分类2
2018/03/30 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
js内置对象 学习笔记
2011/08/01 Javascript
简短几句jquery代码的实现一个图片向上滚动切换
2011/09/02 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
JQuery在页面中添加和除移DOM示例代码
2013/06/24 Javascript
JS按字节截取字符长度实例
2013/11/20 Javascript
经过绑定元素时会多次触发mouseover和mouseout事件
2014/02/28 Javascript
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
2014/06/26 Javascript
javascript删除一个html元素节点的方法
2014/12/20 Javascript
JavaScript实现查找字符串中第一个不重复的字符
2014/12/29 Javascript
javascript的tab切换原理与效果实现方法
2015/01/10 Javascript
jQuery实现购物车计算价格功能的方法
2015/03/25 Javascript
JS实现从表格中动态删除指定行的方法
2015/03/31 Javascript
javascript正则表达式定义(语法)总结
2016/01/08 Javascript
利用Jquery队列实现根据输入数量显示的动画
2016/09/01 Javascript
js中创建对象的几种方式
2017/02/05 Javascript
bootstrap模态框示例代码分享
2017/05/17 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
bootstrap 弹出框modal添加垂直方向滚轴效果
2018/07/09 Javascript
Bootstrap模态对话框中显示动态内容的方法
2018/08/10 Javascript
你应该了解的JavaScript Array.map()五种用途小结
2018/11/14 Javascript
js刷新页面location.reload()用法详解
2019/12/09 Javascript
不要用强制方法杀掉python线程
2017/02/26 Python
Python实现连接postgresql数据库的方法分析
2017/12/27 Python
python入门教程 python入门神图一张
2018/03/05 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
2019/08/16 Python
通过实例解析python描述符原理作用
2020/01/22 Python
pycharm中选中一个单词替换所有重复单词的实现方法
2020/11/17 Python
CSS3 Pie工具推荐--让IE6-8支持一些优秀的CSS3特性
2014/09/02 HTML / CSS
CSS3 毛玻璃效果
2019/08/14 HTML / CSS
详解HTML5新增标签
2017/11/27 HTML / CSS
下列程序在32位linux或unix中的结果是什么
2015/01/26 面试题
电子商务专业推荐信范文
2013/12/02 职场文书
小孩百日宴答谢词
2014/01/15 职场文书
致百米运动员广播稿5篇
2014/10/13 职场文书