Javascript 角度UI路由器状态不为';虽然加载了模板,但无法渲染它们
我有两种状态——一种全局布局状态,所有其他状态都应该呈现,另一种是登录状态。当我的应用程序启动时,它不会抛出任何错误,但模板不会呈现,尽管在调试会话中我看到它们已加载。以下是主页:Javascript 角度UI路由器状态不为';虽然加载了模板,但无法渲染它们,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我有两种状态——一种全局布局状态,所有其他状态都应该呈现,另一种是登录状态。当我的应用程序启动时,它不会抛出任何错误,但模板不会呈现,尽管在调试会话中我看到它们已加载。以下是主页: <!DOCTYPE html> <html> <head><head> <body> <div ui-view></div> </body> </html> 下面是app.co
<!DOCTYPE html>
<html>
<head><head>
<body>
<div ui-view></div>
</body>
</html>
下面是app.config.js:
export default function routing($stateProvider, $urlRouterProvider) {
"ngInject";
$stateProvider.state('app', {
abstract: true,
template: require('./layout/layout.html')
});
$urlRouterProvider.otherwise('/');
}
布局如下:
<div ui-view></div>
login.controller.js
export default function loginConfig($stateProvider) {
"ngInject";
$stateProvider.state('app.login', {
url: '/login',
controller: 'LoginCtrl as $ctrl',
template: require('./login.html')
});
}
class LoginCtrl {
constructor() {
"ngInject";
}
btnClicked() {
console.log("YAY!");
}
}
import angular from 'angular';
import loginConfig from 'login.config';
import LoginCtrl from 'login.controller';
let loginModule = angular.module('app.login', []);
loginModule.config(loginConfig);
loginModule.controller('LoginCtrl', LoginCtrl);
export default loginModule;
login.html
<div>
<button ng-click="$ctrl.btnClicked()"></button>
</div>
我使用webpack+ng注释加载程序进行构建。正如我已经提到的,虽然可以看到所有模板都已加载并添加到视图中,但index.html页面上的主
ui视图
在呈现时仍然为空,整个页面为空。什么会导致此问题?通过添加$locationProvider.html5Mode(false)解决了此问题
到app.config.js你不需要ng app=“app”
?@AlekseySolovey我有angular.bootstrap(文档,['app'])代码>,它会自动执行此操作。
import angular from 'angular';
import loginConfig from 'login.config';
import LoginCtrl from 'login.controller';
let loginModule = angular.module('app.login', []);
loginModule.config(loginConfig);
loginModule.controller('LoginCtrl', LoginCtrl);
export default loginModule;