Vue.js并使用AJAX动态加载页面?

时间:2016-05-19 23:05:37

标签: vue.js vue-resource vue-router vue-component

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

到目前为止,在我的应用程序中,我只有1个Vue实例,它保存所有页面的数据,每个页面都在data的子对象中。数据作为带有vue-resource的JSON(使用$http.get())即时加载,因此在启动data时非常空。

现在我需要一种方法来动态加载页面的HTML并将它们绑定到现有的Vue实例。我曾经用jQuery加载页面,但是当我在这个Vue应用程序中执行此操作时,数据没有绑定到加载页面的内容。

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

我还遇到了vueifybrowserifyWebpack,但这些对我来说似乎有点太先进了。我只想加载一些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()或其他方式完成。

0 个答案:

没有答案