2016-12-09 9 views
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'] 
} 

);

ответ

0

Хорошо, моя ошибка. SearchContainer не был включен в мой файл jsp. Задача решена.

+0

Поскольку ваш компонент использует Liferay.SearchContainer, хорошей практикой является добавление зависимости к требуемому массиву, поэтому ясно, что этот модуль нуждается в этом. Если вы добавите его в jsp, вы добавите неявную зависимость, и ваш модуль будет работать в зависимости от контекста, поэтому позже вы можете столкнуться с проблемами. – jbalsas

 Смежные вопросы

  • Нет связанных вопросов^_^