У меня есть приложение Angular-Meteor. Я хотел бы упаковать угловые шаблоны и связанный с ними контроллер в пакет Meteor и вставить эти шаблоны в основное приложение, добавив этот пакет.Angular-Meteor - Как включить шаблон ng в пакетный дизайн?
Что лучше всего подходит?
Обновление 2015-08-26 - Я выяснил, как добавить шаблон, задокументированный ниже. Но как иметь пакет Meteor, вставлять угловой контроллер шаблона в базовое приложение?
Ключевым элементом является Угловой UI-маршрутизатор.
У меня есть базовое приложение, которое включает мой пакет с именем packageprefix: packagename. Внутри этого пакета у меня есть мой код в корне папки пакета: myPackagedPage.ng.html - Угловая шаблон HTML myPackagedPage.js - ассоциированная Угловой контроллер
Из моего основного приложения, я попытался создать маршрут к мой Угловой шаблон так:
angular.module('parentModule',[
'angular-meteor',
'ui.router',
'angularify.semantic.sidebar'
])
.config(['$urlRouterProvider', '$stateProvider', '$locationProvider',
function($urlRouterProvider, $stateProvider, $locationProvider){
console.log("app.js config!");
$locationProvider.html5Mode(true);
$stateProvider
.state('home', {
url: '/',
templateUrl: 'client/views/home/home.ng.html',
controller: 'HomeCtrl'
})
.state('myPackagedPage', {
url: '/myPackagedPage',
templateUrl: 'packageprefix_packagename/myPackagedPage.ng.html',
controller: 'MyPackagedPageCtrl'
})
;
$urlRouterProvider.otherwise('/');
}])
Приложение успешно находит файл myPackagedPage.ng.html и делает его. Но как добавить контроллер?
Я попытался добавить это в свой пакет, но функции контроллера не вызываются.
console.log("myPackagedPage.js loaded");
angular.module('parentModule')
.controller('MyPackagedPageCtrl', ['$scope',
function($scope){
console.log("MyPackagedPageCtrl");
}])
;
Я получаю сообщение об ошибке:
Argument 'MyPackagedPageCtrl' is not a function, got undefined