Vue.js 数据绑定整个页面的正确方式或vuejs方式是什么?

Vue.js 数据绑定整个页面的正确方式或vuejs方式是什么?,vue.js,vuejs2,Vue.js,Vuejs2,来自knockoutJs背景。如果不指定绑定到元素。您可以使用模型覆盖整个页面的元素。例如,如果发生单击事件,我可以使div可见。我正在学习VueJs和文档。我看到vue实例要求您使用el指定元素 像这样: var-app=新的Vue({ el:“#应用程序”, 数据:{ 消息:“你好,Vue!” } })绑定到中的第一个元素是非常常见的。Vue不允许您绑定到主体,因为还有各种各样的东西可以将它们的事件侦听器放到主体上 如果您这样做,Vue将管理您的整个页面,然后您就可以离开了。这些文档涵盖了

来自knockoutJs背景。如果不指定绑定到元素。您可以使用模型覆盖整个页面的元素。例如,如果发生单击事件,我可以使div可见。我正在学习VueJs和文档。我看到vue实例要求您使用el指定元素

像这样:

var-app=新的Vue({
el:“#应用程序”,
数据:{
消息:“你好,Vue!”
}

})
绑定到
中的第一个元素是非常常见的。Vue不允许您绑定到
主体
,因为还有各种各样的东西可以将它们的事件侦听器放到主体上

如果您这样做,Vue将管理您的整个页面,然后您就可以离开了。这些文档涵盖了一个页面上有多个Vue实例的情况,但我在文档之外没有遇到过这种情况,我想不出一个好的理由。更常见的是,您将不断地从根Vue实例中切掉一些内容,并将它们重构为“子”组件。这就是你如何管理文件大小和构建应用程序的方法

这就是很多人不必要地使事情复杂化的地方,他们过度使用
道具
将东西传递给组件。当您开始重构为组件时,如果您将所有状态都保存在vue之外的存储中,然后让组件直接与存储对话,您将有一个更轻松的时间。(将存储放在所有组件的
数据
元素中)。这种模式(MVVM)非常棒,因为许多状态元素最终会在屏幕上有多个表示,并且有一个“单一的真实来源”,标准化,存储中项目之间的关系最小,从根本上降低了复杂性和用于最常见目的的代码量。它允许您独立于DOM构建应用程序状态

因此,为了回答您的问题,Vue实例(和Vue组件)不需要(也不应该)彼此谈论太多。当他们确实需要(第三方组件和重复组件)时,您可以(在商店外声明)和属性(不赞成使用!)。您还可以创建。这是一个非常好的选项总结

你的商店应该是Flux/Redux吗?Vuex是vue的flux/redux模式的正式实现。一个常见的笑话是:当你意识到你需要它时,就太晚了。如果您决定暂时离开Vuex,不要只在Vue组件中添加状态。在窗口范围中使用普通javascript对象。正确的方法比错误的方法容易,当您转换到Vuex时,您的工作会简单得多。你的下游参考可能是好的,因为他们是


祝你好运。享受旅程。

您通常将主Vue实例放在主体内的第一个标记上,然后在其中构建站点的其余部分。该实例中的所有内容(不是嵌套组件中的内容)都可以访问相同的
数据

然后可以在HTML中执行此操作:


{{message}

并将数据设置为如下所示:

var-app=新的Vue({
el:“#应用程序”,
数据:{
消息:“你好,Vue!”,
showMessage:正确
}
})
如果您希望稍后在组件之间传递数据,则必须查看如何发出事件、使用道具,或者如果您使用Vue CLI运行Vue(我强烈建议这样做),则可能需要使用Vuex

如果您希望访问主Vue实例之外的标记(例如头部标记),则有相应的工具。例如,您可以尝试:

我没有想过要测试它。

通常
#app
将是
主体的直接子元素
,并包装所有其他元素(例如
脚本
标记除外)。