나는 snytax 또는 로직 문제가 있다고 생각했지만 몇 시간 동안 디버깅 한 후 적어도 내 ng-click이 작동하지 않는다는 것을 발견했습니다. 아래 예제 데모 ng-repeat 내에서 ng-click tht가 실행되지 않습니다. (그것을 발사하는 함수를 생성하지 않는 한).
이 http://jsfiddle.net/tM56a/18/ 을 보면 내 문제를 알 수 있습니다.
HTML
<div ng-controller="apiCtrl">
<p ng-click="show=!show">Click me I'm outside of li tags</p>
<br />
<ul>
<li ng-repeat="menu in menus" >
<a ng-click="show=true">click me, I am li tag</a>
</li>
</ul>
<p ng-show="show">Show me text</p>
</div>
js
function apiCtrl($scope) {
$scope.menus = [
{menu: 'page_01', url: 'page_01.html'},
{menu: 'page_02', url: 'page_02.html'}
];
$scope.test = function(menu){
alert('test ' + menu.url)
}
}
다음을 사용해야합니다 $parent.show
.
<a ng-click="$parent.show=true">click me, I am li tag</a>
문제는 ng-repeat
자체 범위를 생성하여 프로토 타입 적으로 상위 범위를 상속한다는 것입니다. show
boolean 단순 유형과 마찬가지로 프로토 타입 상속에 문제 가 있습니다. 프로토 타입 상속 및 범위 문제에 대해 알아 보려면 이 문서 를 읽으십시오 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다