我是 angularJS 的新手。
我正在尝试使用ng-route
and制作一个小的角度应用程序ng-view
。当用户单击登录按钮时,URL 将从 更改localhost:8000
为localhost:8000/login
。
现在,如果用户重新加载页面,则视图/login
将在页面加载时加载。
这是我拥有的 HTML 文件ng-app
和ng-controller
.
<html ng-app="loginSignUpApp">
<head>...</head>
<body ng-controller="mainController">
<div ng-view></div>
</body>
</html>
现在,如果用户从开始localhost:8000
并单击登录按钮,那么一切正常。但是,如果用户重新加载页面,单击登录按钮后,loginController
则不会触发。视图未呈现。
var app = angular.module('loginSignUpApp', ['ngMaterial', 'ngRoute', 'ngAnimate']);
app.controller('mainController', function($scope, $route, $routeParams, $location, $window, serviceFunctions) {
$scope.gotoPath = function (url) {
$location.path( url );
if(!$scope.$$phase) $scope.$apply()
}
})
.controller('loginController', function($scope, $route, $routeParams, $location, $window, serviceFunctions, $http) {
// some work...
})
.config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/login', {
title : 'Login',
templateUrl: 'signIn.html',
controller: 'loginController'
})
.otherwise({
title : 'Landing Page',
redirectTo:'/',
controller: 'mainController'
})
$locationProvider.html5Mode(true);
})
.run(['$rootScope', '$route', function($rootScope, $route) {
$rootScope.$on('$routeChangeSuccess', function() {
angular.element('title').html($route.current.title);
});
}]);
我使用 Django 作为后端和角度来渲染视图。
任何形式的帮助将不胜感激。先谢谢了。