0
我嘗試實現角度服務,控制器,指令,過濾器的延遲加載,我找到了使用RequireJS做類似事情的方法。但是我無法找到如何僅在需要時纔將服務加載到控制器中。只有在需要時才向控制器注入角度服務
我的控制器:
require(["app"], function (app) {
app.controller('dialogsCtrl',function($scope,dialogsSer){
$scope.tooltip = function(){
dialogsSer.tooltip(); // work ok
}
...
我想要實現類似的信息(也仍然可能注入的服務爲角內聯的方式):
require(["app"], function (app) {
app.controller('dialogsCtrl',function($scope){
$scope.tooltip = function(){
// load service only if tooltip function is called
require(["dialogsSer"], function (dialogsSer){
dialogsSer.tooltip();
);
}
...
需要配置:
require.config({
baseUrl: ...,
paths: {
....
'dialogService':'resources/web/app/services/dialogsSer',
...
deps: ['app']
});
對話服務:
require(["app","directives"], function (app) {
app.service('dialogsSer', function($http,$uibModal){
var ds = {};
...