我在函数中接收数据,此函数需要加载新页面。我用Jquery使用方法.load()来做这个,但是我的vue方法得到一个错误,说找不到另一个页面中的元素。我相信这可能是一个更好的方法,但我不知道我怎么能通过vue组件传递数据
static foo(a,b){
$('#maindiv').load("/newPage");
new Vue({
el: '#newPageElem',
data: {
vueVar1:a
vueVar2:b
},
});
}
我该怎么做?我相信使用Jquery并不是实现这一目标的最佳方法,但我不知道如何使用vue更改路由并在它们之间传递参数。
感谢。
答案 0 :(得分:3)
您可以在此处查看vue-router
:http://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应用程序。