0
Я пытаюсь использовать SearchContainer, но у меня есть проблема с файлом javascript. Я создаю модуль AUI и вызывая метод Liferay.SearchContainer.get
. К сожалению, я получаю TypeError: Liferay.SearchContainer is undefined
в журнале консоли браузера. Что я делаю неправильно?Liferay.SearchContainer undefined
Вот мой JS код:
AUI.add(
'myModule',
function(A) {
var Lang = A.Lang;
var Module = A.Component.create(
{
ATTRS: {
...
},
AUGMENTS: [Liferay.PortletBase],
EXTENDS: A.Base,
NAME: 'mymodule',
prototype: {
initializer: function(config) {
var instance = this;
var namespace = instance.NS;
var searchContainer = Liferay.SearchContainer.get(namespace + instance.get('searchContainerId'));
},
...
}
}
);
},
'',
{
requires: ['liferay-portlet-base']
}
);
Поскольку ваш компонент использует Liferay.SearchContainer, хорошей практикой является добавление зависимости к требуемому массиву, поэтому ясно, что этот модуль нуждается в этом. Если вы добавите его в jsp, вы добавите неявную зависимость, и ваш модуль будет работать в зависимости от контекста, поэтому позже вы можете столкнуться с проблемами. – jbalsas