ng-show (또는 ng-hide) 명령을 사용자 정의 지시문에서 작동시키는 데 문제가 있습니다. 그것은 정상적인 HTML 요소에 잘 작동합니다.사용자 지정 바꾸기 지시문에서 ng-show를 사용하면 표시되거나 숨겨지지 않습니다.
<div ng-app="appMod">
<div ng-controller="Ctrl3">
<button>First</button>
<button ng-hide="NoSecond">Second</button>
<mybutton ng-hide="NoSecond" label="My button"/>
</div>
</div>
및 JS :
나는 문제를 도시하는 매우 간단한 예를 만든
function Ctrl3($scope) {
$scope.NoSecond = true;
};
var appmod = angular.module('appMod', []);
appmod.directive("mybutton", function() {
return {
restrict: "E",
template: "<div style='border: 1px solid black;'><button>{{label}}</button></div>",
scope: {label:'@'}
};
});
최종 결과는 '제'는 HTML 버튼 숨겨져 있지만, '된다는 것이다 mybutton '은 그렇지 않습니다. http://jsfiddle.net/fotoguy42/4j7td/2/는
는어떻게 내 위젯에 NG-숨기기/표시 작업을 할 수 ? 당신이 지침에 변수 noSecond을 통과해야하고, 새 범위에 포함 당신이 당신의 지시에 새 범위를 만드는 때문에
[이 커밋] (https://github.com/angular/angular.js/commit/3fe4491a6bf57ddeb312b8a30cf1706f6f1d2355)과 함께 1.2.0으로 해결되었습니다. – Blackhole
나는 많은 (시간) 주위를 파고 그 질문을 찾지 못했습니다. – ToddK
어 - 최소한 당신은 꽤 포괄적 인 아이디어를 가지고 있습니다. 나는 당신이 다른 것을 무너 뜨리는 것에 대해 걱정하지 않는 한 아마 각도 업그레이드로 갈 것입니다. 내가 예상 한 행동이 당신이 묘사 한 것일 것 같습니다. –