0

AppSettings에서 데이터를 가져와 ListView에서 해당 데이터를 바인딩하는 Windows 스토어 앱/메트로 UI 앱에서 작업하고 있습니다. 이 data.jsWindows 스토어 앱/메트로 앱 : 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') }"> 

그러나 저장 한 항목이있을 때, 그리스트 뷰에서 정의되지 않은로 보여줍니다. 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의 정의를 게시하면 문제를 분석하는 것이 도움이됩니다.