0
Я пытаюсь изменить представление, используя $ location.
Вот как я пытался это сделать.
Посмотреть
<body ng-app="myApp" ng-controller="testCtrl">
<button ng-click="click();">Press</button>
</body>
Контроллер
var app = angular.module('myApp',[]);
app.controller('testCtrl',function($scope,$location){
$scope.click = function(){
$location.path('/main');
};
});
app.js
angular.module('myApp', [
'ngRoute',
'myApp.view2',
'myApp.version'
]).
config(['$locationProvider', '$routeProvider', function ($locationProvider, $routeProvider, testCtrl) {
$locationProvider.hashPrefix('!');
$routeProvider
.when('/main',
{
templateUrl: '/view2.html',
controller: testCtrl
})
.otherwise({redirectTo: '/view1'});
}]);
Так что, когда я нажимаю на кнопку I можно увидеть изменения URL-адреса из
http://localhost:8383/etest/index.html
в
http://localhost:8383/etest/index.html#/main
Как я могу это исправить?
Помогает ли вам ответ от http://stackoverflow.com/questions/27941876/how-to-redirect-to-another-page-using-angular-js? –
Нечего исправить. Это ожидаемое поведение. Но вы используете ng-route без какого-либо ng-view на странице index.html. Таким образом, основной вид не может отображаться нигде. https://docs.angularjs.org/api/ngRoute –
попробуйте поместить это $ locationProvider.hashPrefix ('!'); .. JB говорит, что это не ошибка ... но если вы хотите увидеть URL-адрес другим, вы можете использовать режим html5. активируйте его с помощью $ locationProvider.html5Mode (true); –