0

现在开发一个基础的导航框架,用的是vue.js vue-router,require.js
没有使用单文件组建.vue的格式,es6的 import语法也没有用,使用的是requirejs的方式引入js文件,解决模块依赖,准备的是现在先是这样,一共三个组件:头部主导航组件,路由跳转左侧导航组件,左侧菜单点击路由右部详情页面组件。

`<header></header>
<router-view>
    <left>
        <router-view></router-view>
    </left>
<router-view>
`

这样的结构,路由我是动态路由

"/:id":com
/:id/:id:com2

现在项目里所有的数据都是后台请求的,动态加载,我在这三个组件间的数据通信问题卡住了很久
1.所有数据(头部导航左侧菜单,菜单有三级,还有详情组件里的url,都有对应)
2.props属性用于父子组件之间通信,但是我这使用的require的方法,导致props失效,这个请问大家有没有解决办法?
3,后来使用require的方式另外写了一个js,充当一个桥的效果,但是由于自己对vue组件渲染的前后机制以及生命周期了解不透彻,出现了数据不及时,同步异步的问题,渲染会在数据更新之前。后来解决方法是在添加了beforeUpdateRoute后又添加了beforeUpdate监听,但是觉得自己简直就是凭运气撞。这里问下大家 vue中mounted和created的区别,还有怎么样去及时的在组件渲染时数据是最新的,$.nextTrick()如何?这里大家想想办法,分享一下。
4.后来发现$route.path这个是这种动态数据组件里相当重要的一个参数,路由会依照这个走,我也想依靠这个来获取数据,这样很多问题能解决,但是头绪很乱,大家有没有比较系统的想法来分享,当然$route.path我是靠v-bind绑定在页面是,数据是从后台请求的,感觉这个是突破口。
我在努力尝试解决这个问题,但是现在积累不够,谢谢分享。

撰写答案