2017-07-03 44 views

回答

2

您必须进行自定义绑定才能初始化元素,并在observable发生更改时更新其值。您可以尝试使用类似下面的,但我没有测试它:

ko.bindingHandlers.barrating = { 
    init: function(element, valueAccessor, allBindings, viewModel, bindingContext) { 
     $(element).barrating(); 
    }, 
    update: function(element, valueAccessor, allBindings, viewModel, bindingContext){ 
     var value = ko.unwrap(valueAccessor()); 
     $(element).barrating('set', value); 
    } 
} 

...

<select data-bind="barrating: myRatingObservable"> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
</select> 
+0

感谢。我对淘汰赛的东西很陌生。你能解释一下'bindingHandlers'吗? – Dukakus17

+1

@ user7677413 ko.bindinghandlers是关于自定义绑定的,这里有更多的信息:http://knockoutjs.com/documentation/custom-bindings.html欢迎来到Knockout。 :-) –