Javascript 在状态解析时在angular ui路由器中插入库

Javascript 在状态解析时在angular ui路由器中插入库,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我想知道是否有办法解决UI路由器的resolve函数对库的依赖性 大概是这样的: $stateProvider.state('app.cart', { title : "CART.TITLE", url : '/cart', views : { 'content@app': { templat

我想知道是否有办法解决UI路由器的resolve函数对库的依赖性

大概是这样的:

$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);
                }
            });

不确定为什么要这样做,但可以在
resolve
中轻松获取JS文件

$stateProvider
.州(“州1”{
url:'state1',
templateUrl:'state1.tpl.html'
})
.州(“州2”{
url:'state2',
templateUrl:'state2.tpl.html',
决心:{
外部:['$http',函数($http){
var someJs=https://gist.githubusercontent.com/jonaszuberbuehler/952c2f9a0c9e28557ed89c1e4d6fe8b7/raw/e6664811e1b34d9761500f4c46bfd2e1e2439d23/gistfile1.txt';
返回$http.get(someJs).then(函数(结果){
警报(结果、数据);
});
}]
}
});

将其添加到DOM是另一个问题。

不确定为什么要这样做,但您可以在
解析中轻松获取JS文件

$stateProvider
.州(“州1”{
url:'state1',
templateUrl:'state1.tpl.html'
})
.州(“州2”{
url:'state2',
templateUrl:'state2.tpl.html',
决心:{
外部:['$http',函数($http){
var someJs=https://gist.githubusercontent.com/jonaszuberbuehler/952c2f9a0c9e28557ed89c1e4d6fe8b7/raw/e6664811e1b34d9761500f4c46bfd2e1e2439d23/gistfile1.txt';
返回$http.get(someJs).then(函数(结果){
警报(结果、数据);
});
}]
}
});

将其添加到DOM中是另一个问题。

您可以尝试查看$q服务,在库加载后可以使用该服务返回承诺结果。为什么要这样做?试着解释一下你想要实现的目标。试着看看是否只有在用户进入特定状态时才能获取库。你可以试着查看$q服务,在库加载后,你可以使用该服务返回承诺结果。为什么要这样做?试着解释一下你想要实现什么。只是试着看看是否只有当用户进入某些状态时才能获取库。是的,源代码在那里,你可以选择如何使用它(例如,将它添加到DOM中,或者使用邪恶的
eval()
)。我更新了演示,添加了一个包含获取的源代码的新脚本标记。但我并不是说你应该这么做……是的,源代码在那里,你可以选择如何使用它(例如,将它添加到DOM中,或者使用邪恶的
eval()
)。我更新了演示,添加了一个新的脚本标记,其中包含获取的源代码。但我不是说你应该这么做。。。