[英]Simple edit functionality is not working in angular js using routes?
[英]edit functionality is not working in knockout js
我只是使用net.in上提供的示例創建了一個可編輯內容,當我嘗試編輯網格時,它沒有顯示值,而是將輸入字段顯示為空白。有什么幫助嗎? 在編輯中,我正在調用此功能
self.editFruit = function (fruit) {
if (self.editingItem() == null) {
// start the transaction
fruit.beginEdit(self.editTransaction);
// shows the edit fields
self.editingItem(fruit);
}
};
這里是小提琴的jsfiddle
在第一次評估綁定時,每個水果的可觀察值( data-bind="value: name.editValue"
)的editValue子可觀察data-bind="value: name.editValue"
不存在。 當您單擊“編輯”鏈接時,將創建可觀察的editValue,但敲除並不知道必須重新綁定。
您可以解決這兩種方法。
1。 if
在每個輸入周圍綁定, if
創建一個虛擬的。 如果if變為true,則內容將重新插入到DOM中,從而導致綁定重新評估。 在設置了editItem observable之前,請確保將editValue observable附加到其父項,否則您將處於相同情況
<!-- ko if: $root.isItemEditing($data) -->
<input data-bind="..."></input>
<!-- /ko -->
2。 在綁定模型之前,請確保所有可觀察對象的父對象可觀察對象都具有editValue可觀察對象,並且在beginEdit fn中設置了editValue可觀察對象的值。
function Fruit(data) {
var self = this;
self.name = ko.observable(data.name || "");
self.name.editValue = ko.observable();
self.rate = ko.observable(data.rate || "");
self.rate.editValue = ko.observable();
}
ko.observable.fn.beginEdit = function (transaction) {
...
if (self.slice)
self.editValue(self.slice());
else
self.editValue(self());
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.