Просмотр полной версии : Application.requires
Здравствуйте.
У меня вот такой теоретический вопрос: а что надо описывать в секции requires моего Application?
Опытным путем нашел что там надо вписать все то что должно быть найдено по алиасу. Может есть еще какие-нибудь рекомендации, общие правила, best practices?
Есть ли смысл описывать виджеты в views и сторы в stores, если я не нуждаюсь в геттерах для них? Кто как делает?
У меня обычно там все мои компоненты:
Admin.*
сторы описанные в этом разделе помоему подгружаются сразу. Соответственно там можно загрузить какой нибудь общий стор.
А со сторами там вообще очень интересно. Я добавил вывод в консоль в конструкторе стора. Стор имеет прописанную storeId. Я вижу вывод - конструктор был вызван. Он вызывается даже если storeId нет. А вот сторменеждер такого стора не знает! Надо его явно создать через Ext.create, тогда будет доступен. Странно...
У меня вот такой теоретический вопрос: а что надо описывать в секции requires моего Application?
Самые верхние View, глобальные Controllers и Stores. Остальное должно само подтянуться.
Да, интересный момент. В демо-приложениях от Sencha тоже частенько вижу вот это:
Admin.*
Тем не менее, когда писал Fiddle этот:
https://fiddle.sencha.com/#fiddle/1mls
И попробовал вписать Fiddle.* в app.js, чтобы не заморачиваться с зависимостями, то получил такую ошибку:
Uncaught TypeError: Cannot read property 'prototype' of undefined
at constructor.applyMainView (ext-all-debug.js:95344)
at constructor.setter [as setMainView] (ext-all-debug.js:10542)
at constructor.<anonymous> (ext-all-debug.js:10521)
at constructor.initMainView (ext-all-debug.js:95129)
at constructor.onBeforeLaunch (ext-all-debug.js:95085)
at constructor.callParent (ext-all-debug.js:12490)
at constructor.onBeforeLaunch (ext-all-debug.js:95383)
at constructor.onProfilesReady (ext-all-debug.js:95019)
at new constructor (ext-all-debug.js:94988)
at constructor [as self] (ext-all-debug.js:13133)
Можете раскомментить и глянуть сами.
Я не знаю, связано ли это с реализацией Sencha Fiddle или что-то я пропустил, но в своем приложении на ExtJS 6.2 я также вписываю все вручную, ориентируясь на warning'и в консоли и здравый смысл. :)
И попробовал вписать Fiddle.* в app.js, чтобы не заморачиваться с зависимостями, то получил такую ошибку:
Fiddle использует динамическую загрузку, которая не парсит код и не может определить зависимости без requires. Cmd парсит и, соответственно, может.
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot