我是Angular的新手。我曾尝试从input元素中检索名称并显示它。我正在使用express和ui-router。
1:我的浏览器控制台没有错误,但ui-router模板没有显示。所以我的第一个问题是为什么templateUrl没有渲染。
2:我的浏览器元素中有<div id="mainApp" ui-view="" class="ng-scope"></div>
,但没有为模板分配控制器。所以我的第二个问题是为什么ui-router controller(hello.client.controller.js)没有被调用。
请给我一些建议。
应用/视图/ index.jade
doctype html
html
head
title= title
link(href='css/main.css', rel='stylesheet')
body
div#mainApp(ui-view='')
script(type='text/javascript', src='/lib/angular/angular.min.js')
script(type='text/javascript', src='/lib/angular-ui-router/release/angular-ui-router.min.js')
script(type='text/javascript', src='/modules/hello/hello.client.module.js')
script(type='text/javascript', src='/modules/hello/config/hello.client.routes.js')
script(type='text/javascript', src='/modules/hello/controllers/hello.client.controller.js')
script(type='text/javascript', src='/modules/hello/filters/hello.client.filter.js')
script(type='text/javascript', src='/application.js')
应用/路由/ partial.server.routes.js
module.exports = function(app) {
var partial = require('../controllers/partial.server.controller');
app.get('/modules/:module/views/:partial', partial.render);
};
应用/控制器/ partial.server.controller.js
exports.render = function(req, res) {
res.render('.' + req.path);
};
公开/模块/你好/配置/ hello.client.routes.js
angular.module('hello', ['ui-route'])
.config(['$stateProvider', function($stateProvider) {
$stateProvider
.state('hello', {
url: '/',
templateUrl: '/modules/hello/views/hello.client.view.jade'
});
}
]);
公开/模块/你好/控制器/ hello.client.controller.js
angular.module('hello').controller('HelloController',
function($scope) {
$scope.yourName = 'No Name';
}
);
公开/ application.js中
var mainAppModuleName = 'Main'
var mainAppModule = angular.module(mainAppModuleName, ['ui.router', 'hello']);
angular.element(document).ready(function() {
angular.bootstrap(document.querySelector('#mainApp'), [mainAppModuleName], {
strictDI: true
});
});
项目结构