如何从 Vue.extend 中 return 取值?
How to return Value from Vue.extend?
我得到了以下代码:
var GuestMenu = Vue.extend({
props : ['username','password'],
template: `
<div id="auth">
<form class="form-inline pull-right">
<div class="form-group">
<label class="sr-only" for="UserName">User name</label>
<input type="username" v-model="username" class="form-control" id="UserName" placeholder="username">
</div>
<div class="form-group">
<label class="sr-only" for="Password">Password</label>
<input type="password" v-model="password" class="form-control" id="Password" placeholder="Password">
</div>
<button type="submit" class="btn btn-default" v-on:click="sendLoginInfo()">Войти</button>
</form>
</div>`,
data: function()
{
return
{
// How to return username
}
}
});
我想创建一个函数,returns 来自输入字段的用户名并将其发送到服务器。我如何实现这一目标?创建新的 Vue 实例,如 Auth
并将此数据传递给它,然后将它们传递给服务器或什么?
您需要为提交的表单创建一个方法,将值发送到服务器。在模板中,您将添加
<form class="form-inline pull-right" v-on:submit.prevent="login">
提交表单时,它会自动调用e.preventDefault()
,因此页面不会重新加载,然后它会寻找一个名为login
的函数。所以在你的 Vue 对象中,添加:
methods:{
login: function(){
//send form values to server
// use ajax OR use this.$http if you are using the vue-resource extension
this.$http.post('path/to/login', {
username: this.username,
password: this.password
}).then(function(response){
//handle response
})
}
}
我得到了以下代码:
var GuestMenu = Vue.extend({
props : ['username','password'],
template: `
<div id="auth">
<form class="form-inline pull-right">
<div class="form-group">
<label class="sr-only" for="UserName">User name</label>
<input type="username" v-model="username" class="form-control" id="UserName" placeholder="username">
</div>
<div class="form-group">
<label class="sr-only" for="Password">Password</label>
<input type="password" v-model="password" class="form-control" id="Password" placeholder="Password">
</div>
<button type="submit" class="btn btn-default" v-on:click="sendLoginInfo()">Войти</button>
</form>
</div>`,
data: function()
{
return
{
// How to return username
}
}
});
我想创建一个函数,returns 来自输入字段的用户名并将其发送到服务器。我如何实现这一目标?创建新的 Vue 实例,如 Auth
并将此数据传递给它,然后将它们传递给服务器或什么?
您需要为提交的表单创建一个方法,将值发送到服务器。在模板中,您将添加
<form class="form-inline pull-right" v-on:submit.prevent="login">
提交表单时,它会自动调用e.preventDefault()
,因此页面不会重新加载,然后它会寻找一个名为login
的函数。所以在你的 Vue 对象中,添加:
methods:{
login: function(){
//send form values to server
// use ajax OR use this.$http if you are using the vue-resource extension
this.$http.post('path/to/login', {
username: this.username,
password: this.password
}).then(function(response){
//handle response
})
}
}