Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 敲除JS不会更新映射对象_Javascript_Knockout.js - Fatal编程技术网

Javascript 敲除JS不会更新映射对象

Javascript 敲除JS不会更新映射对象,javascript,knockout.js,Javascript,Knockout.js,我对击倒JS很陌生。我还没有通过谷歌找到多少关于使用击倒js进行映射的帮助。我有一个来自服务器的JSON。我使用knockout js映射库映射JSON。与属性关联的数据绑定dom不更新。 我已经包括了我使用的脚本小提琴。 注意映射到可观察对象的json对象。单击load按钮时,json被映射,属性“test”的值应该显示在标记中。你知道为什么它没有出现在标签上吗 JS fiddle中有一个工作示例 这是正在映射的JSON var json = { "id": 9, "test": "Joh

我对击倒JS很陌生。我还没有通过谷歌找到多少关于使用击倒js进行映射的帮助。我有一个来自服务器的JSON。我使用knockout js映射库映射JSON。与属性关联的数据绑定dom不更新。 我已经包括了我使用的脚本小提琴。 注意映射到可观察对象的json对象。单击load按钮时,json被映射,属性“test”的值应该显示在标记中。你知道为什么它没有出现在标签上吗

JS fiddle中有一个工作示例

这是正在映射的JSON

 var json = {
"id": 9,
"test": "John Doe",
"firstName": "John",
"lastName": "Doe",
"referenceNumber": "BUY-08",
"position": "Buyer",
"type": "Buyer",
"telephone": "028 82 240780",
"email": "m@email.com",
"departmentId": 3,
"departmentName": "DEPT B",
"country": "United Kingdom"
};
我的示例脚本

var masterModel = function()
{
var self = this;
self.members = ko.observableArray([]);
self.websites = ko.observableArray([]);    
self.seoData = ko.observable();
self.test =  ko.observable();
self.loadWebsite = function(website)
{

var json = {
"id": 9,
"test": "John Doe",
"firstName": "John",
"lastName": "Doe",
"referenceNumber": "BUY-08",
"position": "Buyer",
"type": "Buyer",
"telephone": "028 82 240780",
"email": "m@email.com",
"departmentId": 3,
"departmentName": "DEPT B",
"country": "United Kingdom"
};

              self.test(ko.mapping.fromJS(json))
              console.log(self.test);


}    
}
    var master = new masterModel();

   ko.applyBindings(master);

问题是,当您单击loadWebsite时,$data.test.test没有更新

我进行了更新,似乎做了一些小改动:

关键点是我取消了“测试”的可观察性:

<h1 data-bind="text: test().test">?</h1>

对不起,什么事没有发生?小提琴是你的示例代码还是其他东西?小提琴。未更新数据绑定。何时/如何更新?更新内容是什么?当你点击加载按钮时,小提琴看起来是正确的。json中的数据没有显示在数据绑定中。没有显示“加载按钮”。非常感谢,我已经尝试了3天了!顺便说一句,我发现映射插件不值得这么麻烦,除非你正在做一些非常奇特的东西。
self.test = ko.observable({ test: ko.observable('WTF') });