本文实例讲述了vue组件数据传递、父子组件数据获取,slot,router路由功能。分享给大家供大家参考,具体如下:
一、vue默认情况下,子组件也没法访问父组件数据
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="/UploadFiles/2021-04-02/vue.min.js">二、数据传递
组件数据传递: √
1. 子组件获取父组件data
在调用子组件:
<bbb :m="数据"></bbb>子组件之内:
props:['m','myMsg'] props:{ 'm':String, 'myMsg':Number }2. 父级获取子级数据
*子组件把自己的数据,发送到父级
vm.$emit(事件名,数据);
v-on: @1、子组件获取父组件data
方法一:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="/UploadFiles/2021-04-02/vue.min.js">方法二:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="/UploadFiles/2021-04-02/vue.min.js">2、 父级获取子级数据
方法一:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="/UploadFiles/2021-04-02/vue.min.js">注意:
- vm.dispatch(事件名,数据)子级向父级发送数据vm.dispatch(事件名,数据)子级向父级发送数据vm.broadcast(事件名,数据) 父级向子级广播数据
- 配合: event:{}
- 在vue2.0里面已经,报废了
slot:位置、槽口
作用: 占个位置,不覆盖原先的内容
类似ng里面 transclude (指令)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="/UploadFiles/2021-04-02/vue.min.js">效果图:
vue-> SPA应用,单页面应用 vue-router路由
vue-resouce 交互
vue-router 路由
路由:根据不同url地址,出现不同效果
该课程配套用 0.7.13版本 vue-router
主页 home
新闻页 newshtml:
<a v-link="{path:'/home'}">主页</a> 跳转链接 展示内容: <router-view></router-view>js:
//1. 准备一个根组件 var App=Vue.extend(); //2. Home News组件都准备 var Home=Vue.extend({ template:'<h3>我是主页</h3>' }); var News=Vue.extend({ template:'<h3>我是新闻</h3>' }); //3. 准备路由 var router=new VueRouter(); //4. 关联 router.map({ 'home':{ component:Home }, 'news':{ component:News } }); //5. 启动路由 router.start(App,'#box');跳转:
router.redirect({ '/':'/home' });下载vue-router:
vue-router路由:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="/UploadFiles/2021-04-02/vue.min.js">跳转:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="/UploadFiles/2021-04-02/vue.min.js">感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。
希望本文所述对大家vue.js程序设计有所帮助。