Useful ENB technologies to build angular projects.
$ npm install --save-dev enb-ng-techsng-annotate- adds AngularJS dependency injection annotations usingng-annotateng-templates- combines*.tmpl.htmlfiles in single partial which can be loaded and compiled by Angular in runtime
Takes js file provided by source option and writes annotated result to file provided by target option.
Options
- String source — file-target to annotate.
- String target — file-target to write annotated output.
Example
nodeConfig.addTech(require('enb-ng-techs/techs/ng-annotate'), {
source : '?.pre.js',
target : '?.annotated.js'
});Combines *.tmpl.html files wrapping them out with <script type="text/ng-template"> tag and filename as id.
You should fetch this file and compile it in your app using $compile service before any call to templates occurred.
Опции
- String target — Output target. Default —
?.tmpl.html.
Example
nodeConfig.addTech(require('enb-ng-techs/techs/ng-templates'));Use this snippet in project based on ui-router to fetch and compile templates.
angular.module('ngApp')
.run(function($http, $compile, $urlRouter, $rootScope){
// make a chance to load templates before state change
var un = $rootScope.$on('$stateChangeStart', function (event) {
event.preventDefault();
});
// get and compile templates
$http.get('ngapp.tmpl.html')
.then(function(response){
response.data.length &&
$compile(response.data);
// now we can safely set an state
un();
$urlRouter.sync();
});
});