2014-11-24 4 views
0

각도 UI 라우터를 작동 시키려고합니다. .net 프로젝트로 가져 오기 전까지 모든 것이 표준 웹 프로젝트에서 괜찮 았고 모든 것이 망가져 보였습니다. 즉 : 이전 프로젝트에서 수행했을 때각도 UI 라우터 - href 속성없이 중단

<a ui-sref="someUrl">Click here</a> 

이 작동하지 않습니다. 흥미로운 사실은 href 속성에 값 (빈 문자열 일 수 없음)을 추가하면 클릭이 작동한다는 것입니다. 동일한 코드를 가진 두 환경이 다르게 작동하기 때문에 이것은 성가신 일입니다.

ui-router가 태그에 명시 적 href 속성을 설정하지 않고 중단되는 이유를 아는 사람이 있습니까? git docs state 코드 예제은 앵커 태그가 ui-sref 속성 만 필요로한다는 것을 나타냅니다. 적용 가능한 경우 href 태그를 독자적으로 작성하기 때문입니다.

각도 1.3.2 및 각도 -ui-router.0.2.11을 사용하고 있습니다.

코드 : 말 그대로 신체 내부의 기본 HTML의 모든 입니다

<h2>Home Page</h2> 

<a href="#" ui-sref="someState">Click for profile</a> 
<div ui-view="someStateContainer"></div> 

.

main.js :는 <a> 태그가 href 속성이 있어야합니다

/** 
* Primary application definition 
*/ 
var App = App || angular.module("App", [ 
    "ui.router" 
]); 


App.config(["$stateProvider", "$urlRouterProvider", 
    function ($stateProvider, $urlRouterProvider) { 
     $urlRouterProvider.otherwise("/"); 

     $stateProvider 
      .state("someState", { 
       views: { 
        "someStateContainer": { 
         templateUrl: "states/testState" 
        } 
       } 
      }) 
}]); 
+0

이 링크가 작동하지 않는다고 말하면 무엇을 클릭할까요? – Claies

+0

죄송합니다 - 분명히해야합니다. '아무 것도'발생하지 않습니다. 당신은 클릭하고 아무런 반응이 없습니다, 마치 이것이 단락이나 스팬 인 것처럼 말입니다. 피 들러 (fiddler)에서 요청한 것도 아닙니다. 좀 도움이되기 때문에 몇 가지 코드로 OP를 업데이트 해 드리겠습니다. – dudewad

+0

은 .html 페이지 또는 면도기 .cshtml에서 귀하의 코드입니까? 그리고 브라우저에서 렌더링 된 뷰 소스에서 실제로 링크가 어떻게 생겼을까요? – Claies

답변

0

는 링크로 간주합니다. UiRouter의 ui-sref은 적절한 href을 유도하는 방법에 대해 uiRouter에 지시하는 방법 일 뿐이므로 요소에 설정합니다.

특정 상황에서 uiRouter가 이 아니고이 아니고 href으로 설정되어 있습니다. 내 경우에는 url: "/dashboard"으로 정의 된 상태가있었습니다. 그러나 ui-sref="/dashboard"href 속성을 생성하지 않습니다 (오류조차 포함하지 않음). ui-sref="dashboard"을 설정해야 uiRouter가 href="#/dashboard"을 생성합니다. 어쩌면 uiRouter가 오류없이 실패하는 상황이 더 많을 수도 있습니다.

HTH

+0

모두 좋았어. 이제 2 년 동안이나 마찬가지야. 이것은 이제 부적합합니다. – dudewad

관련 문제