0
ObservableArrayをListViewにバインドしようとするたびにクラッシュするNativeScriptアプリケーションがあります。NativeScript Appデータバインディングクラッシュ
私がstandings.jsファイルの9行目をコメントアウトすると、ログイン機能が実行され、読み込み機能が実行されますが、その行のコメントを外すとアプリケーション全体がクラッシュし、ログイン機能が実行されなくなります。
var dialogsModule = require("ui/dialogs");
var Observable = require("data/observable").Observable;
var ObservableArray = require("data/observable-array").ObservableArray;
var StandingsListViewModel = require("../../shared/view-models/standings-list-view-model");
var page;
var standingsList = new StandingsListViewModel([]);
var pageData = new Observable({
standingsList: standingsList
});
exports.loaded = function(args) {
page = args.object;
page.bindingContext = pageData;
standingsList.load();
};
standings.xml:
<Page loaded="loaded">
<GridLayout rows="auto, *" columns="2*, *">
<Label id="header" text="Standings" colSpan="2" horizontalAlignment="center"/>
<ListView items="{{ standingsList }}" id="standingsList" row="1" colSpan="2">
<ListView.itemTemplate>
<Label text="{{ place }}" horizontalAlignment="left" verticalAlignment="center"/>
<Label text="{{ username }}" col="2" horizontalAlignment="left" verticalAlignment="center"/>
</ListView.itemTemplate>
</ListView>
</GridLayout>
</Page>
、順位リストビュー-model.js:
var config = require("../../shared/config");
var fetchModule = require("fetch");
var ObservableArray = require("data/observable-array").ObservableArray;
function StandingsListViewModel(items) {
var viewModel = new ObservableArray(items);
viewModel.load = function() {
console.log("hit");
var url = config.apiURI + "getStandings.cfm?weekid=397";
return fetch(url)
.then(handleErrors)
.then(function(data) {
var parsedData = JSON.parse(data._bodyInit);
var users = parsedData.users;
users.forEach(function(standing) {
viewModel.push({
place: standing.place,
username: standing.username
});
});
console.log(viewModel._array[0].username);
})
.catch(function(error) {
console.log("ERROR: " + error);
});
};
return viewModel;
}
function handleErrors(response) {
if (!response.ok) {
console.log(JSON.stringify(response));
throw Error(response.statusText);
}
return response;
}
module.exports = StandingsListViewModel;
すべてのヘルプやアイデアここ
はstandings.jsですどのようにデバッグするかについては大いに感謝します。
返信ありがとうございますが、私はまだ同じエラーが発生しています。私はこれらのデータ構造をどこでより詳細に調べることができるのか分かりますか?私は解決策がどこかにあると確信しています。 – SunnyBCC