是否可以加载一个自定义 Controller ,指定 angularjs 中每个部分的文件名?
类似这样的事情:
var demo = angular.module('demo', ['ngRoute', 'ui.bootstrap', 'demo.filters', 'demo.services', 'demo.directives', 'demo.controllers'])
.config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/custom',
{
templateUrl: 'partials/custom.html',
controller: customController.js
});
});
最佳答案
按照 require js 的工作方式,您需要像这样设置您的应用程序:
var demo = angular.module('demo', ['ngRoute', 'demo.filters', 'demo.services', 'demo.directives']);
demo.config(['$routeProvider',
function($routeProvider) {
var _routes = ['/custom', '/custom2'];
_routes.map(function(route) {
var _cntrlName = route.slice(1, route.length);
require([_cntrlName + "Controller"], function(controller) {
$routeProvider.when(route, {
templateUrl: '.' + route + '.html',
controller: controller
});
});
});
}
]);
您的 Controller 代码必须如下所示:
define(function(require, exports, module) {
function controller($scope) {
$scope.testvar = "test 1!";
}
module.exports = controller;
});
这里有一个 plunker 来演示这一点 http://plnkr.co/edit/N5fE5rezf6eM8jDIz23w?p=info
关于javascript - Angular 负载定制 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26119465/