2016-08-12 5 views
0

각도를 사용하는 간단한 html 페이지를 만들었습니다. 탐색 메뉴에는 3 개의 링크가 있습니다. Angular의 ng-click은 페이지 (또는 뷰)를 나타내는 세 div에 대해 표시 여부를 true 또는 false로 설정하는 데 사용됩니다. html로 잘 작동하지만, 옥으로 변환 할 수있는 몇 가지 다른 기능을 추가해야했습니다. 그러나 ng-click 내부의 값은 이제 정의되지 않았습니다.비취로 선언 된 각도 변수는 정의되지 않았습니다.

HTML :

<nav class="navbar navbar-default" role="navigation"> 
     <div> 
     <ul class="nav navbar-nav"> 
      <li><a href="" ng-click="view_one=true; view_two=false; view_three=false">First page</a></li> 
      <li><a href="" ng-click="view_one=false; view_two=true; view_three=false">Second page</a></li> 
      <li><a href="" ng-click="view_one=false; view_two=false; view_three=true">Third page</a></li> 
     </ul> 
     </div> 
</nav> 

<div class="container" ng-controller="mainController" ng-show='view_one'> 
Content 1 
</div> 

<div class="container" ng-controller="mainController" ng-show='view_two'> 
Content 2 
</div> 

<div class="container" ng-controller="mainController" ng-show='view_three'> 
Content 3 
</div> 

옥 :

nav.navbar.navbar-default(role='navigation') 
    .navbar-centre 
    ul.nav.navbar-nav 
     li 
     a(href='', ng-click='view_one=true; view_two=false; view_three=false') First page 
     li 
     a(href='', ng-click='view_one=false; view_two=true; view_three=false') Second page 
     li 
     a(href='', ng-click='view_one=false; view_two=false; view_three=true') Third page 

.container(ng-controller='mainController', ng-show='view_one') 
Content one 
.container(ng-controller='mainController', ng-show='view_two') 
Content two 
.container(ng-controller='mainController', ng-show='view_three') 
Content three 

은 일반적으로 내용에 대한 구문이 코드와 같이하지 않습니다 아래는 코드의 두 버전입니다. 세 가지보기가 올바르게 표시되지만 메뉴를 클릭하면 숨기거나 표시되지 않습니다.

html(ng-app="myApp") 
    body 
nav.navbar.navbar-default(role='navigation') 
    div 
    ul.nav.navbar-nav 
     li 
     a(href="",ng-click='view_one=true; view_two=false; view_three=false') First page 
     li 
     a(href="",ng-click='view_one=false; view_two=true; view_three=false') Second page 
     li 
     a(href="",ng-click='view_one=false; view_two=false; view_three=true') Third page 
.container(ng-controller='mainController', ng-show='view_one') 
    | Content 1 
.container(ng-controller='mainController', ng-show='view_two') 
    | Content 2 
.container(ng-controller='mainController', ng-show='view_three') 
    | Content 3 

을 더미 JS와 함께 : 나는 변수 (예를 view_one) 중 하나를 인쇄 할 때 또한, 값이

+0

제이드의 들여 쓰기와 관련해서는 안됩니까? 당신이 게시 한 코드가 제대로 들여 쓰기되지 않은 것 같습니다 ... – Dario

+0

들여 쓰기에 문제가 있다고 생각하지 않습니다. 왜냐하면 1) 들여 쓰기에 문제가있을 때 페이지를 열려고하면 오류가 발생합니다. 이 경우에는 오류가없고 정의되지 않은 값만 있습니다. 2) 단지 내가 html 온라인으로 변환 할 때 얻은 옥 버전을 시도했는지 확인하십시오. 그것은 올 바르거나 맞지 않을 수도 있지만, 제가 직접 썼을 때와 똑같은 결과를 얻었습니다. –

+0

그래, 내가 게시 한 코드에서 들여 쓰기되지 않은 "내용 2"가 여기에 잘못된 복사/붙여 넣기가 된 것 같습니다. 맞습니까? – Dario

답변

1

정의되지 않는다이 작동하는 것 같다

var app = angular.module('myApp', []); 
app.controller("mainController", function() {}); 

here을 jsbin 참조하십시오. 붙여 넣지 않은 코드에 뭔가 잘못되었다고 생각합니다. 어쩌면 jsbin을 준비하고 제공 할 수 있습니까?

+0

감사합니다. 코드가 실제로 작동한다는 것을 알았습니다. 그러나 내 환경에 복사하여 붙여 넣을 때 응용 프로그램 이름 만 변경하면 (내 응용 프로그램이 다르게 호출 됨) 다시 작동하지 않습니다. 나는 그 실수가 비취가 아니라 js 파일이 포함 된 방식이라고 생각한다. –

관련 문제