在我的数据库 Web 应用程序中,我需要很多不同的页面,每个表一个。应用程序中的哪些页面对于每个用户来说都是不同的,所以我不想事先将它们全部包括在内,因为这会使事情变得不必要的大,并且在启动时可能会变慢。
到目前为止,在我的应用程序中,我只有 1 个Vue
实例,它保存所有页面的数据,每个页面都在它自己的data
. 数据以 JSON 格式动态加载vue-resource
(使用$http.get()
),因此在启动时data
是空的。
现在我需要一种动态加载页面 HTML 并将它们绑定到现有Vue
实例的方法。我以前用 jQuery 加载页面,但是当我在这个 Vue 应用程序中这样做时,数据没有绑定到加载页面的内容。
我查看了 Vue 组件,但这似乎更适合页面上的可重复(小)元素,而不是整个页面,但如果我错了,请纠正我。
我也遇到过vueify
,browserify
和Webpack
,但现在这些对我来说似乎有点太高级了。我只想加载一些 HTML 并将其与 Vue 一起使用,就像之前已经包含的一样。
有人可以解释一下正确的方法吗?
更新
Vue partials似乎是一个解决方案:
在您的 HTML 文件中:
<partial :name="currentModule"></partial>
并在您的 Javascript 中:
var moduleid = "page1";
var url = moduleid + ".html";
myvue.$http.get(url, function(data, status, request){
Vue.partial(moduleid, data);
myvue.currentModule = moduleid;
});
这vue-resource
用于 AJAX,但这也可以通过jquery.ajax()
其他方式来完成。