2017-06-25 21 views
1

我將一個對象'item'從父項傳遞給'child'組件。它工作得很好。請參閱this當從父項傳遞給子項目時,v-model值更新問題

在更改下拉列表中的值時,它會更新UI。我的問題是,相同的確切代碼不適用於我的應用程序(本地運行在我的機器上)。我甚至嘗試在html中添加{{item.type}},但它不會改變(堅持原始值)。我注意到的一件事,如果我把@change='onChange'和打印在onChange方法的值,它打印更新值。

真的無法找到解決方案來解決這個問題。任何幫助都會很棒。謝謝。

+0

我無法想象它是完全一樣的。它是如何在本地建立的? – Bert

+0

嘿@BertEvans感謝您的時間。請看本地安裝的代碼[這裏](https://pastebin.com/tx0PBSLt) – Pradeepb

回答

2

問題在於,在項目已綁定到數據之後,將type屬性添加到模型中,而Vue cannot detect changes屬性添加了該方式。

的解決方法是,以確保有一個type財產上item

item: { 
    "direct_sale_price": "", 
    "is_auction": true, 
    "is_tender": false, 
    "type": null 
} 

或使用$set適當添加。

created: function() { 
    if (this.item.is_auction) { 
    this.$set(this.item, 'type', 'auction') 
    } else if (this.item.direct_sale_price) { 
    this.$set(this.item, 'type', 'direct-sale') 
    } else if (this.item.is_tender) { 
    this.$set(this.item, 'type', 'tender') 
    } else { 
    this.$set(this.item, 'type', 'plain') 
    } 
} 
+0

啊。你可以刪除它們。我沒有添加datepicker相關的東西,因爲你必須安裝它的插件。我會更新它的更多細節。 – Pradeepb

+0

是的。在那。請看看[這裏](https://pastebin.com/X4M4jJkX)。問題與下拉。更改值不會受到影響。 :( – Pradeepb

+0

@Pradeepb現在,我唯一要注意的就是在父項中導入getCookieId和'created'處理程序的行,它可以工作。我不認爲'item-form'是你的問題。在控制檯上的錯誤? – Bert

相關問題