0

私は次のようなビューモデルを持っています:

define(
    ['jquery', 'knockout', 'knockout.mapping', 'data/data', 'infra/store', 'infra/util', 'nls/nls', 'models/models'],
    function ($, ko, mapping, data, store, util, resources, models) {
        var
            post  = {},

            getPost = function (param) {
                $.when(data.deferredRequest('postDetail', param.id))
                 .done(function (result) {
                     mapping.fromJS(result, {}, post);
                 });
            };

        return {
            post   : post,
            getPost: getPost
        };
    });

上記のhtmlファイルは次のとおりです

<section id="section-post-detail" class="view">
    <div class="page-header">
        <label data-bind="text: post.title"></label>
    </div>
</section>

ビューモデルを html ファイルに適用しましたが、投稿オブジェクトのタイトル プロパティに値があるにもかかわらず、html のタイトル ラベルに値が表示されません。

私は何か見落としてますか?

4

1 に答える 1

2

次のようになります。

<label data-bind="text: post().title"></label>

post プロパティはオブザーバブルであるため、サブプロパティを読み取る前に post() を関数として呼び出す (現在の値を取得する) ことが重要です。

于 2012-12-09T13:07:42.387 に答える