我正在製作我的第一個Vue 2組件(在Laravel 5.3應用程序中),但遇到了我花費數小時試圖解決的實例/範圍問題,但僅僅不能讓它工作!Vue 2組件循環訪問循環 - 實例/範圍問題
我的組件生成訂單列表,每個訂單中都有一個用戶列表(顧問)。我希望能夠爲某個訂單選擇一個用戶,然後將該用戶分配給該訂單。
我的組件的最新版本看起來像這樣;
Vue.component('unassigned-orders', {
template: `
<table id="assignOrder" class="table table-hover">
<thead>
// table headers
</thead>
<tr v-for="(unassignedOrder, key) in unassignedOrders"
:key="unassignedOrder.order_id">
<td>{{ unassignedOrder.order_id }}</td>
<td>{{ unassignedOrder.first_name }} {{ unassignedOrder.last_name }}</td>
<td>{{ unassignedOrder.order_status }}</td>
<td><select @change="assignAdvisor()">
<option v-for="advisor in advisors" :value="advisor.id" >
{{ advisor.first_name }} {{ advisor.last_name }}
</option>
</select></td>
<td><a class="btn btn-default">
Set Advisor {{ unassignedOrder.assignTo }}</a></td>
</tr>
</table>`,
data: function() {
return {
unassignedOrders: [{'assignTo' : ''}],
advisors: ''
}
},
methods: {
assignAdvisor: function() {
this.assignTo = event.target.value;
}
},
mounted() {
axios.get('url').then(response => this.advisors = response.data);
axios.get('url').then(response => this.unassignedOrders = response.data);
}
});
我沒有得到任何錯誤,但功能不工作(我只需要更新var assignTo
到相關的訂單,我相信我能推測休息了)。
我相信我錯過了一些非常簡單的東西,任何人都有任何指針?
感謝
簡單瀏覽了一下您的示例代碼,如果你添加屬性'assignTo'由組件的數據方法返回的對象會發生什麼?您可以將該值設置爲null或空字符串。 – wing
我以前曾嘗試過,即在數據函數內自己的行上有'assignTo:'',而不是嵌套在unassignedOrders中,但它具有相同的結果,即沒有任何內容。 – Ash
Ahh okai。我試圖更好地理解你想達到的目標。這是我的解釋 - 如果我錯了,請糾正我。您的組件呈現名爲'unassignedOrders'的項目列表。當未分配順序的'select'發出'change'事件時,它應該設置該順序的'assignTo'屬性。這聽起來是對的嗎? – wing