2017-07-25 40 views
0

我有一個敲除自定義綁定,它接受一個值並返回一個枚舉。這是爲了用戶可讀性。問題是,當傳入此綁定的參數時,它只是返回空白。我已經嘗試傳遞參數作爲可觀察的,例如:PurchaseOrderStatus [Status()]。KnockoutJS:創建綁定處理程序,將值更改爲枚舉

的觀點:

<td style="vertical-align: top"> 
      <label>Status</label><br /> 
      <span data-bind="text: PurchaseOrderStatus[Status]"></span> 
     </td> 

的JavaScript:

PurchaseOrderStatus = function() { }; 
PurchaseOrderStatus.prototype = { 
Closed: 67, 
Deleted: 68, 
Finalized: 70, 
Open: 79} 
PurchaseOrderStatus.registerEnum('PurchaseOrderStatus', false); 

它應該工作的方式是,如果該值是70,那麼用戶將看到完成。

回答

1

這樣的事情怎麼樣。

function model() { 
 
    var self = this; 
 
    this.PurchaseOrderStatus = ko.observable({ 
 
    '67': 'Closed', 
 
    '68': 'Deleted', 
 
    '70': 'Finalized', 
 
    '79': 'Open' 
 
    }); 
 
    this.status = ko.observable('68'); 
 
} 
 

 
var mymodel = new model(); 
 

 
$(document).ready(function() { 
 
    ko.applyBindings(mymodel); 
 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<span data-bind="text: PurchaseOrderStatus()[status()]"></span>