Я использую ExtJs 5 и SenchaCmd.Определение пространства имен с помощью ExtJs5
В пакете, я определил несколько классов в нескольких файлах, как это:
// Bar1.js
Ext.define('Foo.Bar1', {
...
});
// Bar2.js
Ext.define('Foo.Bar2', {
...
});
Теперь я хотел бы просто «увеличить» пространство имен Foo с некоторыми общими инструментами, как это:
Ext.ns('Foo');
Foo.tool1 = function() { ... }
Foo.tool2 = function() { .... }
Foo.generalProp1 = 42;
(...)
Что было бы лучше и было бы полезно объявить это, чтобы Sencha Compiler тоже вставлял этот файл?
Возможно ли «потребовать» (в некотором смысле) пространство имен, такое как нам требуется класс?
Спасибо. У меня есть 2 вопроса: 1/Должен ли я объявить эти два пространства имен ('Foo' и 'Foo.OtherClass') в том же файле? 2/Если я хочу добавить несколько ярлыков функций из Foo.OtherClass в пространстве имен «Foo», сложно ли это? – Guid
1. Нет - определить Foo в /Foo.js и OtherClass в Foo/OtherClass.js; 2. Вы можете передать обратный вызов в 'Ext.define', который вызывается после создания класса, например .:' Ext.define ('Name', {}, function (nameClass) {}) '. В этом обратном вызове вы можете создавать ярлыки. Fiddle: http://jsfiddle.net/r59wopn5/2/ – Krzysztof
Отличный ответ! Большое спасибо. – Guid