我开始使用 knockout.js,我真的很喜欢它。我使用 ASP.Net mvc、jQuery 和 knockout.js
我的问题是这样的:假设我有一个用户的管理屏幕,用户是我在用户内部的视图模型我想要一个权限数组
我的用户视图模型:
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);
}
这是我的第一部分问题。第二部分:假设我得到了具有所有权限数组的模型,它们都是这个权限对象。现在我希望我视图中的每个删除按钮都绑定权限对象内的删除功能。使用:
data-bind="click: delete"
删除功能的最佳实现是什么?我想到了类似的事情:对服务器进行ajax调用,这实际上会删除用户的权限。那么如果调用成功从可观察数组中删除当前权限,那么视图将更新......这是一个好习惯吗?
谢谢!