【问题标题】:Binding object in Knockout在 Knockout 中绑定对象
【发布时间】:2015-05-28 20:09:28
【问题描述】:

我在将 (JSON-) 对象绑定到我的视图时遇到问题。

我有以下对象,我从我的 REST 服务中获得。

现在我想将此对象绑定到我的视图。我试过这个:

var viewModel = {
    test: ko.mapping.fromJS(params.obj),

    ID: params.obj.ID,
    //Bezeichnung: ko.observable(params.obj.Bezeichnung),
    //MaxRunawayTime: ko.observable(params.obj.MaxRunawayTime),

    btnSaveClick: function (e) {
        debugger;
        //params.obj.Bezeichnung = viewModel.Bezeichnung();
        //params.obj.MaxRunawayTime = viewModel.MaxRunawayTime();

        Application1.db.update(params.obj).done(function (data) {
            Application1.app.back();
        });
    }
};

我的 dxView:

<div data-options="dxView : { name: 'TrackerEdit', title: 'TrackerEdit' } " >
<div data-options="dxContent : { targetPlaceholder: 'content' } " >
    ID_Tracker:<div data-bind="dxTextBox: {value: ID, disabled: true}"></div>
    Bezeichnung:<div data-bind="dxTextBox: {value: test.Bezeichnung}"></div>
    Max. Ausreisezeit:<div data-bind="dxNumberBox:{min:0, max:100, value:test.MaxRunawayTime, showSpinButtons: true}"></div>
    <!--Bezeichnung:<div data-bind="dxTextBox: {value: Bezeichnung}"></div>
    Max. Ausreisezeit:<div data-bind="dxNumberBox:{min:0, max:100, value:MaxRunawayTime, showSpinButtons: true}"></div>-->
    <div data-bind="dxButton: {text: 'Save', onClick: btnSaveClick}"></div>       
</div>

请查看注释的代码行。这样它就可以工作了。但是我不喜欢将每个变量单独绑定并且必须将其写回我的原始对象。我想直接绑定我的原始对象。

我是 Knockout 的新手,任何帮助都会很棒!非常感谢。

【问题讨论】:

    标签: knockout.js knockout-mapping-plugin devextreme


    【解决方案1】:

    您可以使用 ko.mapping 插件,而不是一一编写属性:

    就这样写吧:

    btnSaveClick: function (e) {
        debugger;
        var request = ko.mapping.toJS(viewModel.test);
    
        Application1.db.update(params.obj).done(function (data) {
            Application1.app.back();
        });
    }
    

    【讨论】:

      猜你喜欢
      • 2014-06-09
      • 2023-04-11
      • 2018-09-21
      • 2018-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-19
      • 1970-01-01
      相关资源
      最近更新 更多