Использование Admin LTE с Aurelia

У меня есть приложение Aurelia CLI, и я также установил admin-lte с npm. Проблема в том, что он не загружается правильно. Это связано с тем, что Admin LTE использует событие готовности jQuery DOM и ожидает, что в этот момент что-то будет в DOM. Но если я объявлю весь HTML-макет в моем app.html, ничего не произойдет, потому что все будет прикреплено позже (мое предположение).

Я создал суть, которая имитирует проблему. Думаю, я мог бы использовать прикрепленный хук в app.js и сделать что-нибудь, но я не уверен, что именно.

https://gist.run/?id=e4521c1fb38ec82bffd6a0e4fd8b1da6

Как видите, plugin.js упоминается в index.html точно так же, как я ссылаюсь на javascripts Admin LTE в моем приложении. Div не меняется, потому что он появляется после запуска скрипта в plugin.js.

Это тело моего настоящего приложения:

<body aurelia-app="main" class="hold-transition skin-blue sidebar-mini">
    <script src="scripts/vendor-bundle.js" data-main="aurelia-bootstrapper"></script>
    <!-- REQUIRED JS SCRIPTS -->

    <!-- jQuery 2.2.3 -->
    <script src="node_modules/admin-lte/plugins/jQuery/jquery-2.2.3.min.js"></script>
    <!-- Bootstrap 3.3.6 -->
    <script src="node_modules/admin-lte/bootstrap/js/bootstrap.min.js"></script>
    <!-- AdminLTE App -->
    <script src="node_modules/admin-lte/dist/js/app.js"></script>
  </body>

На самом деле мне нужно убедиться, что $(function () {...}) в admin-lte/dist/js/app.js работает. Может быть, вы могли бы заставить jQuery повторно запустить эту функцию?


person John    schedule 01.09.2016    source источник
comment
итак, $(document).on('ready', 'mySelector', callback) не работает?   -  person Charles    schedule 01.09.2016


Ответы (1)


В моем app.js я мог бы использовать прикрепленную функцию и вызвать функцию для исправления макета:

export class App {
    attached(){
        $.AdminLTE.layout.fix();
    }
}

Нашел информацию здесь

person John    schedule 02.09.2016