0

我正在处理Windows应用程序/ Metro UI应用程序,它从AppSettings获取数据并在ListView中绑定这些数据。 这是data.jsWindows Store应用程序/ Metro应用程序:ListView数据绑定错误

(function() { 
    "use strict"; 

    var dataSource = new Array(); 
    var dataList = new WinJS.Binding.List(); 

    var appData = Windows.Storage.ApplicationData.current; 
    var roamingSettings = appData.localSettings; 
    var json = roamingSettings.values["reminderList"]; 
    if (json != undefined) { 
     dataSource = JSON.parse(json); 


     for (var i in dataSource) { 
      var rem = dataSource[i]; 
      dataList.push(rem); 
     } 

    } 
    // Create a namespace to make the data publicly 
    // accessible. 
    var publicMembers = 
     { 
      itemList: dataList 
     }; 
    WinJS.Namespace.define("MyData", publicMembers); 
})(); 

的代码,这是我的ListView使用的代码。

<div id="basicListView" data-win-control="WinJS.UI.ListView" 
      data-win-options="{ itemDataSource : MyData.itemList.dataSource, itemTemplate:select('#mediumListIconTextTemplate') }"> 

但是,当有在存储一个项目,它显示了在ListView中不确定。 当AppSettings中有多个项目时,它会给我下面的错误。

{ 
    "exception": null, 
    "error": [ 
     [{ 
      "description": "Out of stack space", 
      "number": -2146828260, 
      "stack": "Error: Out of stack space\n at getProperty (ms-appx://microsoft.winjs.1.0/js/base.js:8283:13)\n at get (ms-appx://microsoft.winjs.1.0/js/base.js:8566:36)\n at getProperty (ms-appx://microsoft.winjs.1.0/js/base.js:8283:13)\n at get (ms-appx://microsoft.winjs.1.0/js/base.js:8566:36)\n at getProperty (ms-appx://microsoft.winjs.1.0/js/base.js:8283:13)\n at get (ms-appx://microsoft.winjs.1.0/js/base.js:8566:36)\n at getProperty (ms-appx://microsoft.winjs.1.0/js/base.js:8283:13)\n at get (ms-appx://microsoft.winjs.1.0/js/base.js:8566:36)\n at getProperty (ms-appx://microsoft.winjs.1.0/js/base.js:8283:13)\n at get (ms-appx://microsoft.winjs.1.0/js/base.js:8566:36)" 
     }] 
    ], 
    "promise": { 
     "_oncancel": null, 
     "_nextState": null, 
     "_state": { 
      "name": "error", 
      "done": null, 
      "then": null 
     }, 
     "_listeners": null, 
     "_value": [ 
      [{ 
       "description": "Out of stack space", 
       "number": -2146828260, 
       "stack": "Error: Out of stack space\n at getProperty (ms-appx://microsoft.winjs.1.0/js/base.js:8283:13)\n at get (ms-appx://microsoft.winjs.1.0/js/base.js:8566:36)\n at getProperty (ms-appx://microsoft.winjs.1.0/js/base.js:8283:13)\n at get (ms-appx://microsoft.winjs.1.0/js/base.js:8566:36)\n at getProperty (ms-appx://microsoft.winjs.1.0/js/base.js:8283:13)\n at get (ms-appx://microsoft.winjs.1.0/js/base.js:8566:36)\n at getProperty (ms-appx://microsoft.winjs.1.0/js/base.js:8283:13)\n at get (ms-appx://microsoft.winjs.1.0/js/base.js:8566:36)\n at getProperty (ms-appx://microsoft.winjs.1.0/js/base.js:8283:13)\n at get (ms-appx://microsoft.winjs.1.0/js/base.js:8566:36)" 
      }] 
     ], 
     "_isException": false, 
     "_errorId": 7 
    }, 
    "id": 7 
} 

任何人都可以请我指出一个解决方案。

回答

0

您的模板mediumListIconTextTemplate是什么样子的?它与您用来构建数据列表的JSON对象相匹配吗?我怀疑它是。

另外当你说错误被提出时,你是否也可以提供堆栈跟踪?

如果您发布了示例JSON以及mediumListIconTextTemplate的定义,分析问题将会有所帮助。

相关问题