Мне интересно, есть ли способ разрешить зависимость библиотеки от функции разрешения UI-маршрутизатора.
Что-то вроде этого:
$stateProvider.state('app.cart', {
title : "CART.TITLE",
url : '/cart',
views : {
'content@app': {
templateUrl: 'app/main/cart/cart.html',
controller : 'CartController as vm'
},
},
bodyClass: 'cart',
resolve: {
//fetch a library, ex. moment js
var moment = $http.get('moment.js');
body.append(moment);
}
});
Не знаете, почему вы это сделаете, но вы можете легко получить JS файл в resolve
. демонстрация
$stateProvider
.state('state1', {
url: 'state1',
templateUrl: 'state1.tpl.html'
})
.state('state2', {
url: 'state2',
templateUrl: 'state2.tpl.html',
resolve: {
external: ['$http', function($http) {
var someJs = 'https://gist.githubusercontent.com/jonaszuberbuehler/952c2f9a0c9e28557ed89c1e4d6fe8b7/raw/e6664811e1b34d9761500f4c46bfd2e1e2439d23/gistfile1.txt';
return $http.get(someJs).then(function(result) {
alert(result.data);
});
}]
}
});
Добавление его в DOM - еще один вопрос.
eval()
).