javascript - Knockout.js ko.mapping.fromjs 在绑定(bind)中包含一个属性

标签 javascript json asp.net-mvc knockout.js

这是我的代码,不起作用

 var getUpdates = setInterval(function () {  
            $.getJSON("@Url.Action("GetLists", "Home")?id=" + self.selectedboard(), function (data) {                           
                        var mapping = {
                            // only include these two properties
                            'include': ["cardlists"]
                        }
                        ko.mapping.fromJS(data, mapping, self.lists);
                        ko.applyBindings(helloWorldModel);
                    });                  
                }, 3000);

数据正在返回

[{"boardid":1,"boardname":"asdasd","listid":15,"listname":"asdasd","cardvisiblity":true,"showlist":false,"listremove":false,"showRenderTimes":false,"cardlists":[{"cardid":23,"cardname":"7","listid":15},{"cardid":24,"cardname":"3","listid":15},{"cardid":27,"cardname":"asdasd","listid":15},{"cardid":38,"cardname":"asdasd","listid":15}]},{"boardid":1,"boardname":"asdasd","listid":22,"listname":"asdasd","cardvisiblity":true,"showlist":false,"listremove":false,"showRenderTimes":false,"cardlists":[{"cardid":33,"cardname":"asdasd","listid":22},{"cardid":39,"cardname":"asdasd","listid":22},{"cardid":41,"cardname":"qdasd","listid":22}]},{"boardid":1,"boardname":"asdasd","listid":23,"listname":"asdasd","cardvisiblity":true,"showlist":false,"listremove":false,"showRenderTimes":false,"cardlists":[{"cardid":34,"cardname":"asdasd","listid":23},{"cardid":40,"cardname":"asdasd","listid":23}]},{"boardid":1,"boardname":"asdasd","listid":24,"listname":"asdasd","cardvisiblity":true,"showlist":false,"listremove":false,"showRenderTimes":false,"cardlists":[{"cardid":35,"cardname":"qweqwe","listid":24},{"cardid":36,"cardname":"asdasd","listid":24},{"cardid":37,"cardname":"asdasd","listid":24},{"cardid":42,"cardname":"sdfsdf","listid":24},{"cardid":43,"cardname":"asdasd","listid":24}]}]

如何在绑定(bind)中仅包含卡片列表?

如何在绑定(bind)中排除 showRenderTimes?

最佳答案

通过使用 include 关键字,您只能添加属于已经属于原始对象的任何属性。

通过使用ignore关键字,您可以指定您不想映射的对象属性。

因此,在您的情况下,您可以指定您不想成为映射一部分的所有属性,并且只保留 cardlists

“忽略”

var mapping = {
    'ignore': ["boardid", "boardname","listid","cardvisiblity","showlist","listremove","showRenderTimes"]
}
 ko.mapping.fromJS(data, mapping, self.lists);

关于javascript - Knockout.js ko.mapping.fromjs 在绑定(bind)中包含一个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43658411/

相关文章:

javascript - 点击 nav-element loads/includes new content/file.php into div id ="include"

java - 自定义JsonDeserializer在resteasy中反序列化抽象类的子类型

android - 检查 json 数组中的对象是否格式错误

javascript - 如何使用 JavaScript/jQuery 在其他 JSON 数据之后正确添加 JSON 数据

c# - ModelState.IsValid=true 是否保证传递的模型参数不为空?

javascript - MVC AJAX POST 请求在 Controller 中显示为空

javascript - Github API 授权问题

javascript - 单击其中的单选选项时更改 div 类

javascript - 使用 reduce 但有额外条件找到最小值和最大值

MySQL 和 ASP MVC - 存储表情符号字符