私はknockout.jsを使い始めましたが、とても気に入っています。ASP.Net mvc、jQuery、knockout.jsを使用しています
私の質問はこれです:私がユーザーの管理画面を持っているとしましょう、ユーザーはユーザー内の私のビューモデルです私は権限の配列が必要です
私のユーザーviewModel:
var userViewModelClass = function () {
var self = this;
ko.mapping.fromJS({
ID: "",
permissions: []
}, {}, self);
}
今..サーバーにajaxリクエストを実行し、JSONを取り戻すと、マッピングプラグインを使用し、すべてが期待どおりに実行されます
しかし...今、レンダリングされたパーミッションリストに削除のようなアクションを持たせたいです。したがって、アクセス許可オブジェクトが必要になり、アクセス許可の配列はアクセス許可オブジェクトの配列になります。しかし、どうすればそれを行うことができますか?マッピングプラグインは、サーバーから配列内で返されるオブジェクトが実際には次のようなオブジェクト上にあることをどのように認識しますか?
function permission() {
var self = this;
this.delete = function () {
};
ko.mapping.fromJS({
name: "",
level: ""
}, {}, self);
}
それが私の最初の質問です。2番目の部分:すべてのアクセス許可の配列を持つモデルを取得し、それらがすべてこのアクセス許可オブジェクトであるとします。ここで、ビュー内の各削除ボタンを、アクセス許可オブジェクト内の削除関数にバインドする必要があります。使用:
data-bind="click: delete"
削除機能の最適な実装は何ですか?私は次のようなことを考えました:サーバーにajax呼び出しを行うと、実際にユーザーからアクセス許可が削除されます。次に、呼び出しが成功した場合、監視可能な配列から現在のアクセス許可を削除すると、ビューが更新されます...これは良い習慣ですか?
ありがとう!