angularjs 1.6.0(지금으로 변경) 루트가 기능하지 않음
Stackoverflow에서 이 질문을 볼 수 있을 것으로 예상했지만 볼 수 없었습니다.분명히 나 혼자만 이런 문제를 가지고 있는 것 같아. 내가 보기엔 아주 흔한 것 같아.
기본 프로젝트가 있는데 지금까지 한 일은 다 맞는 것 같은데 루트가 잘 안 되는 것 같아요.
이 html 조각이 내 안에 있습니다.index.html
파일:
<html>
<head ng-app="myApp">
<title>New project</title>
<script src="https://code.angularjs.org/1.6.0/angular.min.js"></script>
<script src="https://code.angularjs.org/1.6.0/angular-route.min.js"></script>
<script src="app.js"></script>
</head>
<body>
<a href="#/add-quote">Add Quote</a>
<div ng-view ></div>
</body>
</html>
그리고 여기 내 것이 있다.app.js
:
var app = angular.module('myApp', ['ngRoute']);
app.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/add-quote', {
templateUrl: 'views/add_quote.html',
controller: 'QuoteCtrl'
})
.otherwise({ redirectTo: '/' });
}]);
이 페이지를 방문하면 URL에 다음과 같이 표시됩니다.
를 클릭하면Add quote
버튼, 알겠다.
여기서 문제가 될 수 있는 것은 무엇입니까?도와주셔서 감사합니다.
간단하게 해시방 사용#!
href:
<a href="#!/add-quote">Add Quote</a>
aa077e8에 의해 $location 해시방 URL에 사용되는 기본 해시 프리픽스가 빈 문자열에서 변경되었습니다.''
( )을(를) 。'!'
).
실제로 해시 프리픽스를 사용하지 않으려면 응용 프로그램에 구성 블록을 추가하여 이전 동작을 복원할 수 있습니다.
appModule.config(['$locationProvider', function($locationProvider) {
$locationProvider.hashPrefix('');
}]);
상세한 것에 대하여는, 을 참조해 주세요.
거만하게 굴어서 미안하지만...이게 어떻게 나왔지?이건 거대하고, 벌레가 깨지는 거야.- @Milo The Great
참조 사양은 이미 공식적으로 권장되지 않았기 때문에 #14202에서 변경된 변경은 원래대로 되돌릴 필요가 있습니다.
피드백을 받지 못했기 때문에 이 이슈를 종료하겠습니다.새로운 피드백을 제공할 수 있다면 이 문제를 다시 제기해 주십시오.
- https://github.com/angular/angular.js/issues/15715#issuecomment-281785369
를 포함하기만 하면!
에href
:
<body>
<a href="#!/add-quote">Add Quote</a>
<div ng-view ></div>
</body>
1.6.4에서는 루팅을 동작시킬 수 없었기 때문에 각도 1.5.11을 사용하여 라우팅이 정상적으로 동작하도록 결정했습니다.다만, (..)가 「/」로 기능하는 경우는, 모든 루팅을 정의할 필요가 있었습니다.
오래된 버전의 angular를 고집하는 것이 당신에게 선택 사항이라면 신경을 절약할 수 있기 때문에 고려해보세요.
var app = angular.module("myApp", ["ngRoute"]);
app.config(function($routeProvider) {
$routeProvider
.when("/layoutandviewbox", {
templateUrl : "views/layout-and-viewbox.html"
})
.when("/basicshapes", {
templateUrl : "views/basic-shapes.html"
})
.when("/advancedshapes", {
templateUrl : "views/advanced-shapes.html"
})
.when("/groups", {
templateUrl : "views/groups.html"
})
.when("/transformations", {
templateUrl : "views/transformations.html"
})
.when("/effects", {
templateUrl : "views/effects.html"
})
.when("/", {
templateUrl : "views/basic-shapes.html"
});
});
app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$locationProvider.hashPrefix('');
$routeProvider
.when('/add-quote', {
templateUrl: 'views/add_quote.html',
controller: 'QuoteCtrl'
})
.otherwise({ redirectTo: '/' });
}]);
이것을 사용해 보세요.도움이 될 수 있습니다.
html 또는 페이지 보기
<body>
<a href="#/Home.html">Home</a>
<div ng-view></div>
</body>
스크립트 페이지
var app=angular
.module('myModule',['ngRoute'])
.config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/Home', {
templateUrl: 'FolderName/Home.html',
controller: 'homeCtr'
})
$locationProvider.hashPrefix('');
});
언급URL : https://stackoverflow.com/questions/41211875/angularjs-1-6-0-latest-now-routes-not-working
'programing' 카테고리의 다른 글
ng-if in react.js에 해당하는 것은 무엇입니까? (0) | 2023.03.23 |
---|---|
여러 워크시트를 사용하여 PHPexcel 기존 .xlsx 파일 수정 (0) | 2023.03.23 |
onFocus 및 onBlur가 반응으로 렌더링되지 않음 (0) | 2023.03.23 |
AngularJS - jQuery 없이 dom에 HTML 요소 추가 (0) | 2023.03.23 |
스프링 부트에서의 Servlet Context Listener 등록 방법 (0) | 2023.03.23 |