0

Я новичок в aurelia js, имея материализуемую модель (всплывающее окно) для выбранной папки назначения. Это не работает, мне нужна помощь. Сценарий:Aurelia Js и вопрос о компоненте materialze

upload.html

<require from="../commontemplate/folder_directory/folder_directory"></require> 
<folder_directory></folder_directory> <a class="col s12 waves-effect waves-light btn ${disabl_chosebtn}" click.delegate="chooseDestiFldr()">Choose</a> 

upload.js

cooseDestiFldr() { 
    this.folder_directory.load_destiFolder(); 
    $('#folderDirectory').openModal(); 
    setTimeout(() => { 
    this.attached(); 
    }, 100); 
} 

При нажатии на кнопку выбора, она открывает всплывающее окно.

folder_directory.html

<input type="search" placeholder="Search folder" value.bind="destifolder_srch" keyup.trigger="load_destiFolder()"> print value ${folders} 

folder_directory.js

load_destiFolder() { 
    this.httpValueConverter.call_http(...).then(data => this.folders = data); 
} 
attached() { 
    this.load_destiFolder() 
} 

Здесь не печатает данные, а всплывающее окно открывается, если наберется что-то в текстовом поле, это вызывает функции и привязать данные.

PS: Я запускаю вручную this.folder_directory.load_destiFolder(); Что такое правильный способ использования общего компонента.

ответ

0

Добавить функцию с запятой после вызова функции в методе жизненного цикла компонента attached()folder_directory.js.

Если это только ошибка копирования, пожалуйста, отредактируйте свой пост с полным содержимым каждого файла, чтобы мы могли помочь вам найти проблему.

+0

точки с запятой не являются обязательными, поэтому я сомневаюсь, что это проблема. –

1

Я очень удивлен тем, что работает линия $('#folderDirectory').openModal();, так как нет элемента с идентификатором folderDirectory. Я не уверен, как вы получаете значение свойства класса this.folder_directory.

Кроме того, в вашем коде есть проблемы с именованием, которые могут вызвать проблемы для вас по дороге. Аурелия знает, как автоматически конвертировать между соглашениями об именах JavaScript и соглашениями об именах HTML, но вы должны следовать этим соглашениям. Давайте рассмотрим некоторые из этих вещей:

  • Не произвольно сокращать слова в именах переменных, это делает ваш код более трудным для чтения. Таким образом, load_destiFolder должен стать load_destinationFolder и cooseDestiFldr должен стать chooseDestinationFolder.
  • JavaScript использует camelCasing для имен переменных и функций, поэтому load_destinationFolder становится loadDestinationFolder.
  • JavaScript использует InitCaps корпус для имен классов, так class folder_directory становится class FolderDirectory
  • HTML делает нечувствительно к регистру, поэтому условность для пользовательских элементов является использование тира-корпуса (также известным как кебаб-кожух). Aurelia использует это и конвертирует между соглашениями об именах JavaScript и HTML для вас. Это означает, что это займет FolderDirectory и конвертирует его в folder-directory.

Помимо этого нам потребуется больше кода, прежде чем мы сможем вам помочь.То, что вы опубликовали до сих пор, похоже на загадку Soduko, в которой отсутствуют некоторые необходимые подсказки :-)

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