Публикация данных vue как тела для публикации запроса с использованием ресурса vue
<script>
//var VueValidator = require ('vue-validator');
new Vue({
el: '#app',
data: {
email: '',
password: '',
_token: '{{csrf_token()}}',
uid: '{{$row->id}}'
},
methods: {
changeCredentials: function (e) {
console.log(this.email); --> **RETURNS EMPTY**
var resource = this.$resource('myurl/{id}');
resource.save({id: this.uid}, {body: function () {
console.log(this.data);
return this.data;
}}).then((response) => {
// success callback
console.log(response);
}, (response) => {
// error callback
});//alert('here');
}
}
});
</script>
Можете ли вы сказать мне, почему this.uid работает, а не this.email? Спасибо
Это потому, что когда вы получаете доступ this.data
вы находитесь внутри обратного вызова, который меняет область, в которой вы находитесь в настоящее время, где this
на самом деле не ваш компонент Vue.
Установив _this
Затем вы можете получить доступ к этой переменной, как только вы измените область действия и перейдете к обратному вызову.
changeCredentials: function () {
var resource = this.$resource('myurl/{id}');
var _this = this;
resource.save({id: _this.uid}, {body: function () {
console.log(_this.data);
return _this.data;
}});
}
Других решений пока нет …