【问题标题】:Passing Data Through Pages with Vue使用 Vue 通过页面传递数据
【发布时间】:2016-10-21 17:26:33
【问题描述】:

我在一个函数中接收数据,这个函数需要加载一个新页面。我正在使用 .load() 方法对 Jquery 执行此操作,但我的 vue 方法收到错误消息,提示无法在其他页面中找到元素。我相信这可能是一个更好的方法,但我不知道我该怎么做通过 vue 组件传递数据

static foo(a,b){
    $('#maindiv').load("/newPage");
    new Vue({
        el: '#newPageElem',
        data: {
            vueVar1:a
            vueVar2:b
        },

    });
}

我该怎么做?我认为使用 Jquery 并不是实现这一点的最佳方式,但我不知道如何使用 vue 更改路由并在它们之间传递参数。

谢谢。

【问题讨论】:

  • 您可能想查看Vue-router,它允许您将组件映射到路由。

标签: ecmascript-6 vue.js


【解决方案1】:

您可以在此处查看vue-routerhttp://router.vuejs.org/en/essentials/getting-started.html - 它允许您处理所有客户端路由。

要进行http调用以从服务器接收数据,您可以使用vue-resource (https://github.com/vuejs/vue-resource)

最好避免将 jQuery 与 Vue 混合使用,因为 Vue 负责渲染 DOM。如果您使用 jQuery 进行任何 DOM 更改,它将在下一次 DOM 更新时被 Vue 覆盖。因此,您最终会花费大量时间进行调试。

此外,您不能在函数内实例化 Vue 应用程序,如您的代码示例所示,除非您在页面加载时调用该函数。理想情况下,前几行脚本应该启动 Vue 应用程序。

【讨论】:

  • 那么在页面加载的时候怎么调用这个方法呢?我应该在html页面中做一个脚本标签吗?
  • 是的,您可以在 html 页面底部为new Vue({..}) 使用脚本标签,它将启动 Vue 应用程序并渲染 DOM。或者您可以查看vue-cli,如果您刚刚开始,可能会有些困惑。
  • @Mani 很高兴你在回答问题的同时指出了代码示例的问题,这对我们刚接触vue的人很有帮助。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-17
  • 2021-03-07
  • 2022-01-21
相关资源
最近更新 更多