Невозможно запустить приложение angular в шаблонах метеора

Невозможно запустить приложение angular в шаблонах метеора

вот мой index.html

<body>
</body>

<template name="myIndex">
    <section ng-app="myApp" ng-controller="AppController as app">
        <div ng-include="'client/index.ng.html'"></div>
    </section>
</template>

а вот мой index.js

MyIndexRouteController = PreloadController.extend({
    'preload': {
        'async': ['/js/xxx.js']
     },
});


Router.route('/', {
    template: 'myIndex',
    data: {
        env: 'someEnv',
        assets: ''
    },
    controller: MyIndexRouteController,

});

После выполнения правил маршрутизатора и появления шаблона в отображаемом HTML не запускаются никакие директивы Angular, ни ng-app, ни ng-include.

Как это можно решить?


person paka    schedule 09.10.2015    source источник
comment
где вы инициализируете свое приложение myApp?   -  person Filype    schedule 09.10.2015
comment
Можете ли вы создать базовый jsfiddle?   -  person jjbskir    schedule 13.10.2015


Ответы (2)


Попробуйте это https://docs.angularjs.org/api/ng/function/angular.bootstrap для ручного запуска angular после рендеринга шаблона метеора.

Angular автоматически запускается при наличии директивы ng-app, но в данном случае директива является шаблоном для других систем шаблонов.

person Disparity    schedule 11.10.2015
comment
Извините, что забыл упомянуть, но я попробую этот подход, прежде чем спрашивать. Что-то не так с железным маршрутизатором, я думаю - person paka; 12.10.2015

Возможно, угловые приложения необходимо инициализировать вручную после добавления шаблона в DOM.

Глядя на документацию для meteor-preloader, этого можно добиться с помощью следующего фрагмента:

MyIndexRouteController = PreloadController.extend({
    'onAfterAsync' : function() {
        //angular.element(document).ready(function() {
          angular.module('myApp', []);
          angular.bootstrap(document, ['myApp']);
        //});
    },
    'preload': {
        'async': ['/js/xxx.js']
     },
});
person Filype    schedule 11.10.2015
comment
Вы пробовали или чисто теоретически? Пробовал ставить, не получилось (может ошибся, поэтому интересно, попробуете ли вы) - person paka; 12.10.2015
comment
@peka, я не пробовал, это сложно воспроизвести без дополнительной настройки кода и среды для метеора. - person Filype; 12.10.2015