Vue.js与V-模型全局数据访问

问题描述 投票:0回答:2

我工作的一个Web应用程序,用户可以在一个项目工作。该应用的结构如下:

  • 组分A(APP)
  • 组分B1-BN(页眉,页脚,主窗口等,A的孩子)
  • 组件C1(输入区;与用户输入到这个项目工作,主窗口的孩子)
  • 组分C2(输出区域;帆布,其示出了基于从C1输入的结果。在将来也与主窗口的C1儿童同步一个“图形”输入区域)。
  • 组分D1-DN(如表中的输入区域的单件,先进输入组件等C1的儿童)

现在,用户正在从事的项目包括存储在成分A成分DN对象的需要写入成分A中的对象,也C2的未来。

我不能让输入组件DN工作的V模型。我试图从通过道具/ V-绑定至C1,然后传递Dn之数据,我从C1支柱(其从A始发)于输入场v型模型。我还试图用同步修改,而不sucess。

我似乎有缺乏的VUE逻辑的理解。我来自一个桌面背景,你只定义变量的作用域。我还发现,其他VUE学徒有同样的认识问题,但不知何故,我发现那里没有足够的答案。

我希望能够通过每个组件进行编辑,并链接到DOM元素“全球”变量。什么是实现这一目标的最佳方式是什么?

vue.js nested components global v-model
2个回答
1
投票

在根组分(组分A),如创建的Vue对象当在数据声明您的变量

var app = new Vue({
   data: function(){
        return {
            showSetting: {}
        }
    },
})

现在,您可以访问此showSetting变量在任何成分像

app.showSetting;
//change it in any component
app.showSetting = {a:1,b:2};
//or append new value to object
Object.assign({d:3},app.showSetting);

0
投票

感谢迄今答案。我想他们两人的工作。我发现了另一个解决方案,因为现在我完全理解数据是如何在VUE通过: 注意,在JavaScript对象和阵列通过引用传递,因此,如果支撑是一个数组或对象,突变子组件内的物体或阵列本身会影响父状态。 我会把所有的数据阵列在未来,我只想引用。剩下唯一的问题是,为什么程序员不允许通过自己的数据是否通过引用或不通过定义...

来源:Vue.js Guide

© www.soinside.com 2019 - 2024. All rights reserved.