Включить adminLTE в проект Angular2
Я пытался включить adminlte
шаблон в моем угловом проекте 2. Я поместил adminlte
папка внутри node_modules
, но при связывании .js
а также .css
в угловом index.html
, он не находит их, и я не знаю, почему причина. Может кто-нибудь предложить мне совет на эту тему?
Прикрепите код и ошибку:
3 ответа
Я нашел Angular 2 порт AdminLTE в github. Вы можете взглянуть на это:
Ответ не будет работать так просто.
согласно веб-сайту AdminLTE " https://almsaeedstudio.com/themes/AdminLTE/documentation/index.html"
Существует ли руководство по интеграции с PHP-фреймворками, такими как Yii или Symfony?
Короткий ответ, нет. Тем не менее, в Интернете есть разветвления и учебные пособия, которые предоставляют информацию о том, как интегрироваться со многими различными платформами. Есть даже версии AdminLTE, которые интегрированы с jQuery ajax, AngularJS и / или MVC5 ASP .NET.
так что вы можете проверить это
но я думаю, что вы можете добавить в проект папку "bootstrap, dist, packages" inside "assets", если вы используете угловой CLI
Я предполагаю, что включение шаблона означает использование файла AdminLTE.css в вашем приложении.
Для этого вам нужно импортировать файл.css в ваш файл component.ts, как показано ниже:
@Component({
moduleId: module.id,
selector: 'dashboard',
templateUrl: 'dashboard.component.html',
styleUrls: ['bower_components/adminLTE/dist/css/AdminLTE.min.css']
})
PS: убедитесь, что путь правильный
Как только styleUrl указан, мы сможем получить доступ к CSS-селекторам Admin LTE или любому другому шаблону в файле dashboard.component.html.
Есть несколько способов добавить CSS в ваш угловой проект, перейдите по ссылке ниже: https://scotch.io/tutorials/all-the-ways-to-add-css-to-angular-2-components
Интересным способом было добавить через angular-cli, как в приведенной ниже ссылке на git hub https://github.com/ahmadalibaloch/Angular-AdminLTE
Мне удалось интегрировать AdminLte в мой проект Angular благодаря видео на codingFriday. Я также смог добавить маршрутизацию, и теперь у меня есть основные страницы сайта и админки с анимацией. Я новичок в веб-программировании, и в моем проекте много плохих решений (это курсовая работа в моем университете), но, возможно, это поможет кому-то начать.
https://github.com/paulrozhkin/tamagotchi-web-client
Короче говоря, необходимо предпринять следующие шаги (источником шагов является руководство по github от codingFriday):
Установите admin lte 3 в свой проект:
npm install admin-lte@^3.0 --save
Выберите панель инструментов и скопируйте все стили и скрипты ссылок из панели инструментов в angular.json:
Например, это обновленный файл angular.json для панели 2.
"styles": [ ... "node_modules/admin-lte/plugins/fontawesome-free/css/all.min.css", "node_modules/admin-lte/plugins/overlayScrollbars/css/OverlayScrollbars.min.css", "node_modules/admin-lte/docs_html/assets/css/adminlte.css" ], "scripts": [ ... "node_modules/admin-lte/plugins/jquery/jquery.js", "node_modules/admin-lte/plugins/bootstrap/js/bootstrap.bundle.js", "node_modules/admin-lte/plugins/overlayScrollbars/js/jquery.overlayScrollbars.js", "node_modules/admin-lte/dist/js/adminlte.js", "node_modules/admin-lte/dist/js/demo.js", "node_modules/admin-lte/plugins/jquery-mousewheel/jquery.mousewheel.js", "node_modules/admin-lte/plugins/raphael/raphael.js", "node_modules/admin-lte/plugins/jquery-mapael/jquery.mapael.js", "node_modules/admin-lte/plugins/jquery-mapael/maps/usa_states.js", "node_modules/admin-lte/plugins/chart.js/Chart.js", "node_modules/admin-lte/dist/js/pages/dashboard2.js" ]
Добавьте к телу класс тела из панели управления.
Для приборной панели 2 это может быть:
<body class="hold-transition sidebar-mini layout-fixed layout-navbar-fixed layout-footer-fixed">
Создайте новый компонент и скопируйте тело панели управления из индекса в шаблон.
Копировать изображения в папку с ресурсами - в
\assets
от\node_modules\admin-lte\dist\img
Заменить изображения пути на
src="assets/<image-name>"
Описание дальнейших шагов по интеграции от меня. Я не могу гарантировать, что это лучшие решения, а могут быть и лучшие. Когда я добавил маршрутизацию в админку, у меня возникли следующие проблемы:
Класс тела не следует применять к остальным, кроме админки.
Решение:
импорт
Renderer2
в компонент админ-панели.в
OnInit
админ-панель, эти классы добавляются с помощью:Renderer2.addClass (...)
в
ngOnDestroy
админ-панель, эти классы удаляются с помощью:Renderer2.removeClass(...)
После роутинга перестает работать js-анимация.
Решение:
Скопируйте
adminlte.js
в активы (также измените путь в angular.json) и замените:$(window).on('load', function ()
к
$( document ).ready(function()
Кроме того, если вы хотите запустить анимацию приборной панели (установить карту, данные диаграммы) после маршрутизации, вы должны запустить ее из кода на панели приборной панели.