У меня есть вид навигации, называемый «MenuPanel», как вы видите ниже.Sencha Touch: сделайте что-нибудь, когда магазин магазина готов
В каждой записи «Ребенок» есть меню, если есть более одного ребенка, я хочу напрямую перейти к существующему дочернему меню, в противном случае я хочу показать список дочерних списков («тип списка» xtype).
После того, как вид инициализируется есть 2 варианта (FIX меня, если я ошибаюсь):
- магазин загружается
- Магазин еще не загружены
Я обрабатывать их с помощью IsLoaded(), а затем добавьте («load»), если он не загружен. Однако я считаю, что есть лучший способ сделать это, возможно, это не должно быть при инициализации функции.
Любые идеи о лучших практиках?
MenuPanel.js
Ext.define('eMaliApp.view.MenuPanel', {
extend: 'Ext.NavigationView',
xtype: 'menupanel',
requires: [
'eMaliApp.view.child.List',
'eMaliApp.view.shared.TodayMenu'
],
config: {
store: 'children'
},
initialize: function() {
this.callParent(arguments);
var store = Ext.getStore('children');
var me = this;
var onStoreReady = function() {
var data = store.getData();
console.log('store data:', data);
console.log('me:', me);
if (_.isEmpty(data) || data.items.length > 1) {
console.log('load children list');
// add view
var centersList = {
title: 'Child List',
xtype: 'childlist',
store: 'children',
showMenu: true
};
me.add(centersList);
} else {
// today menu
console.log('today menu');
};
}
if (store.isLoaded()) {
console.log('Store is loaded');
onStoreReady();
} else {
console.log('Store is NOT loaded');
store.on('load', onStoreReady);
}
}
});
Что такое «начало»? я не вижу метода «start» для Ext.App.Controller, я думаю, вы имеете в виду «init», правильно? – user2867106
Нет, я этого не делал. Метод start - это просто воображаемая точка входа для примера. Я не знаю, как вы настроили приложение. Поэтому, если вы используете контроллер для этого, вы должны поместить исходный код в его метод init. В противном случае вы можете указать, где вы инициализируете свой навигационный режим (или где-то еще). Это зависит полностью от настройки вашего приложения. – Martin