Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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 在json中使用带有数组的Knockout.js映射插件_Javascript_Json_Knockout.js - Fatal编程技术网

Javascript 在json中使用带有数组的Knockout.js映射插件

Javascript 在json中使用带有数组的Knockout.js映射插件,javascript,json,knockout.js,Javascript,Json,Knockout.js,我正在尝试建立一个示例,在这个示例中,将使用json格式的ajax传递一系列新闻项。目前,我只是使用一个函数来模拟返回的数据 以下是JSFIDLE: 此时,我只是想让它在模板中显示数据。如有任何见解,将不胜感激。提前感谢。可以从数据端或客户端进行所需的修改。从表面上看,您的视图与数据不匹配,因为newitems包含newItemsFromCall数组。如果数据格式正确,只需添加另一个foreach绑定即可 修改数据 NewsItemsCall可以返回数组而不是对象 注意映射调用的返回,具体取

我正在尝试建立一个示例,在这个示例中,将使用json格式的ajax传递一系列新闻项。目前,我只是使用一个函数来模拟返回的数据

以下是JSFIDLE:


此时,我只是想让它在模板中显示数据。如有任何见解,将不胜感激。提前感谢。

可以从数据端或客户端进行所需的修改。从表面上看,您的视图与数据不匹配,因为
newitems
包含
newItemsFromCall
数组。如果数据格式正确,只需添加另一个
foreach
绑定即可

  • 修改数据

    • NewsItemsCall
      可以返回数组而不是对象
    • 注意
      映射调用的返回,具体取决于您在其他地方使用该值的方式
  • 修改用户界面

    <span data-bind="foreach: { data: newsItems, as: 'item' }" > 
    
      <div data-bind='foreach: item.newsItemsFromCall'>
        <span data-bind='text: title'></span>
      </div>
    
    </span>  
    
    
    
随着数据结构的变化。我还提供了另一种方法,将
fromJS
调用直接映射为viewmodel


用小提琴演奏的例子

{
  "newsItems": [
    {
      "newsItemsFromCall": [
        {
          "title": "First Title From call"
        },
        {
          "title": "Second Title From call"
        }
      ],
      "__ko_mapping__": {
        "ignore": [],
        "include": [
          "_destroy"
        ],
        "copy": [],
        "observe": [],
        "mappedProperties": {
          "newsItemsFromCall[0].title": true,
          "newsItemsFromCall[1].title": true,
          "newsItemsFromCall": true
        },
        "copiedProperties": {}
      }
    }
  ]
}
<span data-bind="foreach: { data: newsItems, as: 'item' }" > 

  <div data-bind='foreach: item.newsItemsFromCall'>
    <span data-bind='text: title'></span>
  </div>

</span>