Chr*_*xon 3 asp.net-mvc knockout.js
我目前正在MVC应用程序中的Knockout中设置一个表单并显示数据库中的数据,例如:
@Html.EditorFor(model => model.AddressPostcode) // This is filled in from the Controller.
Run Code Online (Sandbox Code Playgroud)
正如所料,这很好.但是,我在Knockout JS上做了很多工作,并希望在我的搜索中使用这个值(因此,data-bind="value: postcode"在这个邮政编码元素上.
问题?好吧,当你绑定时postcode: ko.observable(''),预先填充的服务器值将替换为''(正如你所期望的那样).有没有办法解决这个问题?
值绑定覆盖了预定义的值,我认为它是一个使用服务器端MVC和客户端MVVM的反模式,但是如果你真的想要采用这个路由,你需要创建自己的绑定
ko.bindingHandlers.valueWithInit = {
init: function(element, valueAccessor, allBindingsAccessor, context) {
var observable = valueAccessor();
var value = element.value;
observable(value);
ko.bindingHandlers.value.init(element, valueAccessor, allBindingsAccessor, context);
},
update: ko.bindingHandlers.value.update
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1274 次 |
| 最近记录: |