是否可以有多个 Vuejs 实例? [英] Are multiple Vuejs instances possible?
问题描述
考虑这个真实应用的简化示例:
<身体><script src="https://unpkg.com/vue"></script><div id="应用程序"><div id="子应用程序"><p>{{ 信息}}</p>
<p>{{消息}}</p>
<脚本>新的 Vue({el: '#app',数据: {消息:你好 Vue.js!"}})新的 Vue({el: '#subapp',数据: {消息:'¡Hola Vue.js!'}})</html>
我希望看到两条不同的消息,但我收到了两次相同的消息.如果我在子应用程序"中将 message
更改为 other_message
,Vuejs 会抱怨它找不到 other_message
.
有没有办法将它们嵌入"在一起?除了取消嵌入 html 部分或合并控制器之外,有没有办法获得预期的结果?或者,对于我要完成的工作,是否有更好的术语?(英语有时很难)
就像@ka_lin 所说的,你应该为此使用组件.它们是实现此目的的完美工具.
否则几乎不可能做到,特别是对于您提供的示例.Vuejs 无法识别 {{ message }}
属于哪个实例.
实现类似"功能的最接近的方法是将 vue 实例的范围分配给两个元素,如下所示:
new Vue({el: '#app1',数据 () {返回 {消息:'你好'}},})新的 Vue({el: '#app2',数据 () {返回 {消息:'你好'}}})
<script src="https://unpkg.com/vue@2.5.9/dist/vue.js"><;/脚本><div id="app1">{{ 信息 }}
<div id="app2">{{ 信息 }}