Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit cd25de0

Browse files
committed
1.0.1 released
1 parent 8cb3704 commit cd25de0

File tree

4 files changed

+61
-33
lines changed

4 files changed

+61
-33
lines changed

‎README.md

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@ async loader for angular 1.x.
77

88
Support following components to dynamic register:
99

10-
* controller
11-
* services
12-
* filter
13-
* directive
14-
* value
15-
* constant
16-
* provider
17-
* decorator
10+
* .controller
11+
* .services
12+
* .filter
13+
* .directive
14+
* .value
15+
* .constant
16+
* .provider
17+
* .decorator
1818

19-
And we can use following loader:
19+
And we can use following loaders:
2020

2121
* Require.js
2222
* Sea.js
@@ -35,7 +35,7 @@ See Sample: https://github.com/subchen/angular-async-loader/blob/master/sample/
3535

3636
**index.html**
3737

38-
```
38+
```html
3939
<script src="assets/requirejs/require.js"></script>
4040
<script src="bootstrap.js"></script>
4141
```
@@ -101,15 +101,13 @@ define(function (require) {
101101
dummy: app.load('./home/homeCtrl')
102102
}
103103
})
104-
.state('users', {
104+
.state('users', app.route({
105105
url: '/users',
106106
templateUrl: 'users/users.html',
107107
controller: 'usersCtrl',
108-
resolve: {
109-
// async load controller, services, ...
110-
dummy: app.load(['./users/usersCtrl', './services/usersService'])
111-
}
112-
});
108+
// async load controller
109+
controllerUrl: '/users/usersCtrl'
110+
}));
113111
}]);
114112
});
115113
```
@@ -120,6 +118,7 @@ define(function (require) {
120118
define(function (require) {
121119
var app = require('../app');
122120

121+
// dynamic load services
123122
require('../services/usersService');
124123

125124
app.controller('usersCtrl', ['$scope', function ($scope) {

‎angular-async-loader.js

Lines changed: 41 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
function factory(angular, undefined) {
1010

1111
return {
12-
VERSION: '1.0.0',
12+
VERSION: '1.0.1',
1313

1414
configure: function (app) {
1515

@@ -54,43 +54,74 @@
5454
var $filterProvider = $asyncLoader.$filterProvider;
5555

5656
app.value = function (name, value) {
57-
$provide.value.apply(null, [name, value]);
57+
$provide.value(name, value);
58+
return app;
5859
};
5960

6061
app.constant = function (name, value) {
61-
$provide.value.apply(null, [name, value]);
62+
$provide.constant(name, value);
63+
return app;
6264
};
6365

6466
app.factory = function (name, factory) {
65-
$provide.factory.apply(null, [name, factory]);
67+
$provide.factory(name, factory);
68+
return app;
6669
};
6770

6871
app.service = function (name, service) {
69-
$provide.service.apply(null, [name, service]);
72+
$provide.service(name, service);
73+
return app;
7074
};
7175

7276
app.filter = function (name, filter) {
73-
$filterProvider.register.apply(null, [name, filter]);
77+
$filterProvider.register(name, filter);
78+
return app;
7479
};
7580

7681
app.directive = function (name, directive) {
77-
$compileProvider.directive.apply(null, [name, directive]);
82+
$compileProvider.directive(name, directive);
83+
return app;
7884
};
7985

8086
app.controller = function (name, controller) {
81-
$controllerProvider.register.apply(null, [name, controller]);
87+
$controllerProvider.register(name, controller);
88+
return app;
8289
};
8390

8491
app.decorator = function (name, decorator) {
85-
$provide.decorator.apply(null, [name, decorator]);
92+
$provide.decorator(name, decorator);
93+
return app;
8694
};
8795

8896
app.provider = function (name, service) {
89-
$provide.provider.apply(null, [name, service]);
97+
$provide.provider(name, service);
98+
return app;
9099
};
91100
}]);
92101

93102

103+
/**
104+
* Generate $routeProvider.route or $stateProvider.state.
105+
*
106+
* Populate the resolve attribute using either 'controllerUrl'.
107+
*
108+
* @param config {Object}
109+
* @returns the modified config
110+
*/
111+
app.route = function (config) {
112+
var controllerUrl = config.controllerUrl;
113+
if (controllerUrl !== undefined) {
114+
delete config.controllerUrl;
115+
116+
var resolve = config.resolve || {};
117+
resolve.dummyController = app.load(controllerUrl);
118+
config.resolve = resolve;
119+
}
120+
121+
return config;
122+
};
123+
124+
94125
/**
95126
* Load external resources, such as Controller, Service, etc.
96127
*

‎package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "angular-async-loader",
3-
"version": "1.0.0",
3+
"version": "1.0.1",
44
"description": "async loader for angular 1.x",
55
"author": {
66
"name": "Guoqiang Chen",

‎sample/webapp/app-routes.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,14 @@ define(function (require) {
1515
templateUrl: 'home/home.html',
1616
controller: 'homeCtrl',
1717
resolve: {
18-
deps: app.load('./home/homeCtrl')
18+
deps: app.load('home/homeCtrl')
1919
}
2020
})
21-
.state('users', {
21+
.state('users', app.route({
2222
url: '/users',
2323
templateUrl: 'users/users.html',
2424
controller: 'usersCtrl',
25-
resolve: {
26-
deps: app.load('./users/usersCtrl')
27-
}
28-
});
25+
controllerUrl: 'users/usersCtrl'
26+
}));
2927
}]);
3028
});

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /