Bootstrap JS в файлах угловых шаблонов не работает

0

Есть ли способ, чтобы директивы bootstrap js (встроенные атрибуты тегов) работали в файле углового шаблона?

Все JS-библиотеки загружаются правильно, включая код инициализации js для использования popovers. Угловой шаблон правильно загружается с помощью углового маршрутизатора.

Все функции bootstrap js не могут быть запущены/обнаружены в угловых шаблонах, есть ли что-то, что я делаю неправильно или это ожидаемо, и есть ли способ заставить его работать, не меняя html (я смотрел на угловой bootstap ui, но он требует перезаписи html)

Супер упрощено:
Шаблон Twig:

<div class="col-md-12" ng-app="builderApp"><div ng-view></div></div>

Угловой шаблон:

<i class="fa fa-info-circle" data-toggle="popover" data-content="woop woop"></i>

Угловой JS:

var builderApp = angular.module('builderApp', ['ngRoute', 'xeditable']);
    builderApp.config(['$routeProvider', function($routeProvider) {
        $routeProvider.
            when('/', {
                templateUrl: template_path + 'root.html',
                controller: 'rootController'
            })
    }]);
    builderApp.controller('rootController', function($scope, directoryFactory) {
        $scope.directory = directoryFactory.getDirectory();
    });
  • 0
    Вы включили модуль начальной загрузки в свой модуль приложения? Вы не забыли ввести модуль?
  • 0
    Извините, я пропустил создание модуля, но когда вы говорите, модуль начальной загрузки, что есть модуль начальной загрузки, который вы должны внедрить, чтобы нормальная работа начальной загрузки JS?
Показать ещё 2 комментария
Теги:
twitter-bootstrap-3

1 ответ

0

Я бы, безусловно, использовал директиву Angular Bootstrap. Я никогда не видел, чтобы это делалось иначе. Это даст вам доступ к типичному загрузочному CSS, а также к интерактивным функциям в угловом бутстрапе. Я также предпочитаю использовать ui-маршрутизатор.

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"/>
<script src="scripts/vendors/ui-router-master/release/angular-ui-router.min.js"></script>
<script src="scripts/vendors/ui-bootstrap-tpls-0.13.0.min.js"></script>


    var app = angular.module('BuilderApp', ['ui.router','ui.bootstrap']);

    app.config(['$stateProvider', '$urlRouterProvider',
        function ($stateProvider, $urlRouterProvider) {
            $urlRouterProvider.otherwise("/login");
            $stateProvider
              .state('login', {
                  url: '/login',
                  title: 'Login',
                  templateUrl:'views/loginView.html',
                  controller: 'loginCtrl'),

              })
              .state('account', {
                  url: '/account',
                  title: 'My Account'


                  views: {
                    'navigation': {
                         templateUrl: 'views/navigationView.html',
                         controller: 'navigationCtrl'
                    },
                    'content': {
                        templateUrl: 'views/contentView.html',
                        controller: 'navigationCtrl'
                    }
                 }            
              })
            .state('account.dashboard', {
                 url:'/dashboard',
                 title: 'Dashboard',
                 views : {
                    'pageContent': {
                        templateUrl:'views/dashboardView.html',
                        controller: 'dashboardCtrl'
                }   
             }             
          })

И затем убедитесь, что вы вводите маршрутизатор в контроллер.

app.controller('navigationCtrl', function ($scope, $stateParams, $location, $state) {

Ещё вопросы

Сообщество Overcoder
Наверх
Меню