3

在我的数据库 Web 应用程序中,我需要很多不同的页面,每个表一个。应用程序中的哪些页面对于每个用户来说都是不同的,所以我不想事先将它们全部包括在内,因为这会使事情变得不必要的大,并且在启动时可能会变慢。

到目前为止,在我的应用程序中,我只有 1 个Vue实例,它保存所有页面的数据,每个页面都在它自己的data. 数据以 JSON 格式动态加载vue-resource(使用$http.get()),因此在启动时data是空的。

现在我需要一种动态加载页面 HTML 并将它们绑定到现有Vue实例的方法。我以前用 jQuery 加载页面,但是当我在这个 Vue 应用程序中这样做时,数据没有绑定到加载页面的内容。

我查看了 Vue 组件,但这似乎更适合页面上的可重复(小)元素,而不是整个页面,但如果我错了,请纠正我。

我也遇到过vueify,browserifyWebpack,但现在这些对我来说似乎有点太高级了。我只想加载一些 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()其他方式来完成。

4

0 回答 0