Ich habe eine Angular-Meteor-Anwendung arbeiten. Ich möchte Angular-Vorlagen und den zugehörigen Controller in ein Meteor-Paket verpacken und diese Vorlagen in meine Hauptanwendung einfügen, indem ich dieses Paket hinzufüge.Angular-Meteor - Wie kann ich ng-Vorlagen in paketbasiertes Design einfügen?
Was ist der beste Ansatz?
Update 2015-08-26 - Ich habe herausgefunden, wie Sie eine Vorlage hinzufügen, die unten dokumentiert ist. Aber wie kann man mit einem Meteor-Paket den Angular-Controller der Vorlage in die Basisanwendung einfügen?
Eine wichtige Bindung ist Angular UI-Router.
Ich habe eine Basisanwendung, die mein Paket packageprefix enthält: Paketname. Innerhalb dieses Pakets ich meinen Code in der Wurzel des Paketordners habe: myPackagedPage.ng.html - das Angular HTML-Template myPackagedPage.js - der zugehörigen Winkelregler
Aus meiner Hauptanwendung habe ich versucht, einen Weg zur Schaffung mein Eckige Vorlage wie folgt:
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('/');
}])
die Anwendung findet erfolgreich die myPackagedPage.ng.html Datei und macht es. Aber wie fügt man den Controller hinzu?
Ich habe versucht, dies in meinem Paket hinzuzufügen, aber die Controller-Funktionen werden nicht aufgerufen.
console.log("myPackagedPage.js loaded");
angular.module('parentModule')
.controller('MyPackagedPageCtrl', ['$scope',
function($scope){
console.log("MyPackagedPageCtrl");
}])
;
Ich erhalte eine Fehlermeldung:
Argument 'MyPackagedPageCtrl' is not a function, got undefined