3

主に ajax 呼び出しを使用するアプリケーションを構築していますが、問題は ajax 駆動ページでビューモデルを使用できないことです。

私のユーザーリストには、編集ボタンをクリックすると、Ajax が編集ページを #edit div にロードするユーザーのリストを含むテーブルがあります。問題は、新しいページが読み込まれた後に vm 値を取得できないことです。

ko.applyBindings(vm);

<div id="users">

</div>

<div id="edit">

</div> 

   this.EditAjax = function (user) {
            $.ajax({
                type: 'POST',
                data:'',
                url: '/Users/Edit/'+ user.id,

                success: function (h) {
                    $('#edit').html(h);
                }
            });
        };
4

2 に答える 2

0

このフィドルをチェックしてください-

http://jsfiddle.net/p6WjJ/

編集ビューを Knockout オブザーバブルに簡単にバインドできます。

<div id="users" data-bind="foreach: users">
    <span data-bind="text: name, click: editUser"></span>
</div>

<div id="edit" data-bind="with: editingUser">
    <input type="text" data-bind="value: name" />
</div>

そしてあなたのビューモデルで

var editingUser = ko.observable();
var users = ko.observableArray();

function editUser(sender) {
    // If you already have all of your properties of User why not just set the editor to that instead of making another server call through AJAX?
    editingUser(sender);
}
于 2013-08-06T20:04:18.777 に答える