angularjs与requirejs无法正常工作
发布时间:2020-12-17 17:14:51 所属栏目:安全 来源:网络整理
导读:尝试使用requirejs实现 angularjs. 我跟随this. 没有成功! 部分不会加载.控制台没有错误. Angularjs不起作用:即当我只是用HTML编写:{{1 2}}时,它不是打印3,而是因为它是{{1 2}}. main.js var base_url="http://localhost/ums/angular/js";require.config(
|
尝试使用requirejs实现
angularjs.
我跟随this. 没有成功! 部分不会加载.控制台没有错误. main.js var base_url="http://localhost/ums/angular/js";
require.config({
paths: {
'angular': base_url+'/angular.min','ngRoute': base_url+'/angular-route.min','angularControllers': base_url+'/admin/demo_angular','flash': base_url+'/angular-flash','angular-loading-bar': base_url+'/loading-bar.min','ngAnimate': base_url+'/angular-animate.min','ui.bootstrap': base_url+'/ui-bootstrap-tpls-0.12.0','input_match': base_url+'/angular-directives','uniqueField': base_url+'/angular-directives','uniqueEdit': base_url+'/angular-directives','angularAMD': base_url+'/angularAMD.min','app': base_url+'/admin/app',},waitSeconds: 0,shim: {
'angularAMD': ['angular'],'ngRoute': ['angular'],'angular-loading-bar': ['angular'],'ngAnimate': ['angular'],'ui.bootstrap': ['angular'],'input_match': ['angular'],'uniqueField': ['angular'],'uniqueEdit': ['angular'],'angularControllers': ['angular','flash'],'flash': ['angular'],'app':['angular'],deps: ['app']
});
app.js var base_url="http://localhost/ums/";
define(['angularAMD','ngRoute','angularControllers','flash','angular-loading-bar','ngAnimate','ui.bootstrap','input_match','uniqueField','uniqueEdit'],function (angularAMD) {
var app = angular.module('angularapp',['ngRoute','uniqueEdit']);
app.config(['$routeProvider',function($routeProvider){
$routeProvider
.when('/add_user',angularAMD.route( {
title : 'Add User',controller : 'AddUserCtrl',templateUrl : base_url+'angular/partials/admin/add_user.php',}))
.when('/edit_user/:user_id',angularAMD.route( {
title : 'Edit User',controller : 'EditUserCtrl',templateUrl : base_url+'angular/partials/admin/edit_user.php'
}))
.when('/all_users',angularAMD.route({
title : 'All Users',controller : 'allUsersCtrl',templateUrl : base_url+'angular/partials/admin/all_users.php'
}))
.when('/dashboard',angularAMD.route({
title : 'Dashboard',controller : 'dashboardCtrl',templateUrl : base_url+'angular/partials/admin/dashboard.php'
}))
.when('/charts',angularAMD.route({
title : 'Charts',templateUrl : base_url+'angular/partials/admin/charts.php'
}))
.when('/dropdown_demo',angularAMD.route({
title : ' Dropdown Demo',controller : 'dropdownDemo',templateUrl : base_url+'angular/partials/admin/test_dropdown.php'
}))
.otherwise({
redirectTo : '/dashboard'
});
}]);
app.run(['$rootScope','$route',function($rootScope,$route) {
$rootScope.$on('$routeChangeSuccess',function() {
document.title = $route.current.title;
});
}]);
//service demo
app.factory('notify',['$window',function(win) {
var msgs = [];
return function(msg) {
msgs.push(msg);
if (msgs.length == 3) {
win.alert(msgs.join("n"));
msgs = [];
}
};
}]);
// Bootstrap Angular when DOM is ready
return angularAMD.bootstrap(app);
});
demo_angular.js(控制器) var base_url="http://localhost/ums/";
var angularControllers = angular.module('angularControllers',['flash']);
angularControllers.controller('AddUserCtrl',['$scope','$http','$timeout','Flash',function($scope,$http,$timeout,Flash){
// doing some stuff
}]);
//..... other controllers...
注意:在实现requirejs之前,它很好. (我只是想实现延迟加载) 解决方法
以下是基于您的代码的一个工作示例:
http://plnkr.co/edit/Y3XpQKa5b9oqaL7aByP4?p=preview
我已经删除了你的一些代码. main.js: var base_url="//cdnjs.cloudflare.com/ajax/libs/";
require.config({
paths: {
'angular': base_url + 'angular.js/1.2.16/angular.min','ngRoute': base_url + 'angular.js/1.2.16/angular-route.min','ngAnimate': base_url + 'angular.js/1.2.16/angular-animate.min','angularAMD': 'http://cdn.jsdelivr.net/angular.amd/0.2/angularAMD.min','app': 'app'
},shim: {
'angular': {
exports: 'angular'
},'angularAMD': {
deps: ['angular']
},'ngRoute': {
deps: ['angular']
},'ngAnimate': {
deps: ['angular']
},'app': {
deps: ['angular']
}
},deps: ['app']
});
app.js:你忘了包含angular和controllerUrl. var base_url="/";
define(['angular','angularAMD','ngAnimate'],function (angular,angularAMD) {
var app = angular.module('webbapp','ngAnimate']);
app.config(['$routeProvider',function($routeProvider){
$routeProvider
.when('/add_user',templateUrl : 'add_user.html',controllerUrl: 'demo_angular.js'
}))
.otherwise({
redirectTo : '/dashboard'
});
}]);
return angularAMD.bootstrap(app);
});
demo_controller.js:尝试包含app而不是angular. define(['app'],function (app) {
app.controller('AddUserCtrl',$timeout){
console.log('AddUserCtrl');
}]);
});
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
