Item konfigurasi ditakrifkan dalam main.js
requirejs.config({
paths: {
jQuery: '../lib/jquery.min',
angular: '../lib/angular.min',
angularRouter: '../lib/angular-route.min',
angularAnimate: '../lib/angular-animate.min',
ngNotify: '../lib/angular-atomic-notify',
api: '../js/common/api',
utils: '../js/common/utils'
},
shim: {
'angular': {
deps: ['jQuery'],
exports: 'angular'
},
angularRouter: {
deps: ['angular'],
exports: 'ngRoute'
},
angularAnimate: {
deps: ['angular']
},
ngNotify: {
deps: ['angular']
},
api: {
deps: ['angular']
},
utils: {
deps: ['angular']
}
}
});
// 手动开启angular服务
require(['angular', 'app'], function(angular){
angular.element(document).ready(function(){
angular.bootstrap(document, ['yceMain']);
});
});
Tentukan modul dan laluan dalam apl
app.js
define(['angular', 'angularRouter', 'ngNotify', 'angularAnimate', 'api', 'utils'], function(angular){
var yceMain = angular.module('yceMain',['ngRoute', 'atomic-notify', 'ngAnimate']);
yceMain.config(['$routeProvider', '$controllerProvider', function ($routeProvider, $controllerProvider){
$routeProvider
.when('/dashBoard', {
templateUrl: 'views/dashBoard.html'
})
.when('/appManage', {
templateUrl: 'views/appManage.html',
controller: 'appManage'
})
}]);
return yceMain;
});
appManage controller.js kod adalah seperti berikut
define(['app'], function (yceMain){
yceMain.controller('appManage', ['$scope' , function ($scope){
$scope.aa = 11;
}]);
});
Ralat halaman
Error: [ng:areq] http://errors.angularjs.org/1.5.0/ng/areq?p0=appManage&p1=not%20aNaNunction%2C%20got%20undefined
Jika anda mentakrifkan pengawal appManage dalam app.js, anda boleh mendapatkan data dalam paparan, tetapi jika anda menggunakan define(['app'],xx) dalam appManage controller.js untuk mendapatkan angular.module, anda tidak boleh mendapatkan itu. Tolong selesaikan.
Apl ini sepatutnya tidak disuntik. Sila console.log(yceMain).
Jika anda hanya mahu mengikat pengawal appManage ke modul aplikasi, anda sepatutnya boleh menulis seperti ini:
Sudah tentu, pengawal ini juga mesti diperkenalkan ke dalam halaman
Saya menggunakan ui-router + oclazyload
Selesai. Masalahnya ialah sebelum sudut memulakan perkhidmatan ng-app, semua pengawal dan perkhidmatan mesti didaftarkan.
Tetapi idea saya adalah untuk memuatkan pengawal secara tidak segerak melalui memerlukan.
Fungsi ini menyelesaikan masalah dengan sempurna, terima kasih /a/11….