在我的数据库Web应用程序中,我需要很多不同的页面,每个表一个。应用程序中的哪些页面对于每个用户都是不同的,因此我不希望事先将它们全部包含在内,因为这会使事情变得不必要,并且在启动时可能会很慢。
到目前为止,在我的应用程序中,我只有1个Vue
实例,它保存所有页面的数据,每个页面都在data
的子对象中。数据作为带有vue-resource
的JSON(使用$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;
});
这对AJAX使用vue-resource
,但这可以通过jquery.ajax()
或其他方式完成。