アプリケーションの 1 つで angularJS の ngView を使用しています。しかし、ローカルシステムでは正常に動作しますが、サーバーでは動作しません。HomeScreen、DeviceRegistration などのさまざまなビューがあります。HomeScreen をクリックすると、関連するビューが ng-view 属性の div に表示されます。
以下は、html のコードです。
<body ng-controller="TrackingSystemCtrl">
<div class="mainDiv">
Choose:
<a href="HomeScreen">HomeScreen</a>
<a href="DeviceRegistration">DeviceRegistration</a> |
<a href="RegistrationInfo">RegistrationInfo</a> |
<a href="TrackerScreen">TrackerScreen</a>
<a href="AvailableDeviceList">AvailableDeviceList</a> |
<a href="FriendInfo">FriendInfo</a>
<a href="AvailableDeviceList">AvailableDeviceList</a> |
<div ng-view></div>
</div>
</body>
以下はコントローラーのコードです。
angular.module('trackingSystem', [], function($routeProvider, $locationProvider) {
$routeProvider.when('/AvailableDeviceList', {
templateUrl: 'views/AvailableDeviceList.html',
controller: AvailableDeviceListCtrl
});
$routeProvider.when('/DeviceRegistration', {
templateUrl: 'views/DeviceRegistration.html',
controller: DeviceRegistrationCtrl
});
$routeProvider.when('/FriendInfo', {
templateUrl: 'http://webesperto.com/trackingsystemapp/views/FriendInfo.html',
controller: FriendInfoCtrl
});
$routeProvider.when('/HomeScreen', {
templateUrl: 'http://webesperto.com/trackingsystemapp/views/HomeScreen.html',
controller: HomeScreenCtrl
});
$routeProvider.when('/RegistrationInfo', {
templateUrl: 'http://webesperto.com/trackingsystemapp/views/RegistrationInfo.html',
controller: RegistrationInfoCtrl
});
$routeProvider.when('/TrackerScreen', {
templateUrl: 'views/TrackerScreen.html',
controller: TrackerScreenCtrl
});
$locationProvider.html5Mode(true);
});
function TrackingSystemCtrl($scope, $route, $routeParams, $location)
{
$scope.$route = $route;
$scope.$location = $location;
$scope.$routeParams = $routeParams;
$scope.isRegistered = false;
$scope.$on('$viewContentLoaded', function (event) {
console.log("view changed " + angular.toJson(event));
});
}