我正在尝试将backAfterSaveStatus值绑定到隐藏输入,由于某种原因,提交的表单backAfterSave值为空。之后我回去再次提交表单 -backAfterSave值是1。问题出在哪里?我没有尝试过同样的事情prevent,submit()但它仍然无法正常工作。此外,我已经转储了 div,x-text并且代码在提交表单之前将隐藏输入设为 1。我做错了什么?
<form action="<...>" method="post">
<div x-data="{
backAfterSaveStatus: '',
backAfterSave () {
this.backAfterSaveStatus = '1';
document.querySelector('form.withBackAfterSave').submit();
}
}">
<input name="backAfterSave" :value="backAfterSaveStatus">
<div>
<span>
<button x-on:click.prevent="backAfterSave()" type="submit">
Save & back
</button>
</span>
<span>
<button type="submit">
Save
</button>
</span>
</div>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
我想要与下面相同的结果:
let buttonBackAfterSave = document.getElementById('button-back-after-save');
if (buttonBackAfterSave) {
buttonBackAfterSave.addEventListener('click', () => document.getElementById('input-back-after-save').value = 1);
}
Run Code Online (Sandbox Code Playgroud) 尝试将路由查询传递给axios请求,但它是空的..
route.query在装载中返回空。axios 中的route.query返回 并不能解决问题。有小费吗?{"filter[city]": "Vilnius" }then
nextTick
import { ref, onMounted, nextTick } from 'vue';
import axios from 'axios';
import { useRouter, useRoute } from 'vue-router';
export default {
setup() {
const router = useRouter();
const route = useRoute();
onMounted(() => {
console.log(route.query); // log is {}
fetchApartments();
});
function fetchApartments() {
console.log(route.query); // log is {}
axios.get('/api/apartments').then(response => {
console.log(route.query); // log is { "filter[city]": "Vilnius" }
});
}
}
}
Run Code Online (Sandbox Code Playgroud)