vue里,怎样提供数据给所有的子组件?

霍流根 2019-10-11 12:39:22
vue根组件下有多个子组件,根组件该采用什么样的方式提供数据给这些子组件呢?
...全文
117 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
風灬雲 2019-10-11
  • 打赏
  • 举报
回复
多个地方使用,最简单的 vux,状态管理,全局都能取
霍流根 2019-10-11
  • 打赏
  • 举报
回复
引用 2 楼 NANU-NANA 的回复:

<div id="indexVue">
<child-vue :some-data="someData"></child-vue>
</div>


index.js:

module.exports = new Vue({
el: '#indexVue',
data: {
someData: "parent's data"
},
components: {
childVue: require('childVue')
}
});


childVue.js:

module.exports = {
template: '<div>{{someData}}</div>',
methods: {
something: function(){
// you can access the parent's data
console.log(this.someData)
}
},
props: ['some-data']
};



多个子组件的数据是独立的,它们如果共享同一个根实例下的数据会有问题
NANU-NANA 2019-10-11
  • 打赏
  • 举报
回复

<div id="indexVue">
  <child-vue :some-data="someData"></child-vue>
</div>
index.js:

module.exports = new Vue({
  el: '#indexVue',
  data: {
    someData: "parent's data"
  },
  components: {
    childVue: require('childVue')
  }
});
childVue.js:

module.exports = {
  template: '<div>{{someData}}</div>',
  methods: {
    something: function(){
      // you can access the parent's data
      console.log(this.someData)
    }
  },
  props: ['some-data']
};
cn00439805 2019-10-11
  • 打赏
  • 举报
回复

// 父级组件提供 'foo'
var Provider = {
  provide: {
    foo: 'bar'
  },
  // ...
}

// 子组件注入 'foo'
var Child = {
  inject: ['foo'],
  created () {
    console.log(this.foo) // => "bar"
  }
  // ...
}

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧