일부 html 요소가 있으며 사용하여 숨겨져 있습니다. ng-hide
<ion-list>
<ion-item class="ng-hide" ng-show="isLoggedin()" ng-click="login()">Login</ion-item>
<ion-item class="ng-hide" ng-show="isLoggedin()" href="#/app/register">Register</ion-item>
</ion-list>
컨트롤러에는 비동기 기능이 있으며 문제가 해결되면 해당 링크를 표시하고 싶습니다.
$scope.isLoggedin = function(){
$scope.$on('some_function', function () {
//this will resolve at some point
return true;
});
};
아이디어는 isLoggedin()
true 를 반환 ng-show
하면 true로 설정됩니다.
im not set on using ng-show="isLoggedin()"
, 다음을 사용하는 한 다른 솔루션이 될 수 있습니다.
$scope.$on('some_function', function () {
//this will resolve at some point
});
나는 일부를 설정 id's
하고 요소를 잡고 컨트롤러에서 클래스를 변경할 수 있지만 해결을보고 요소가 표시하도록 알릴 방법이 있는지 생각하고있었습니다.
어떤 아이디어?
귀하의 코드는 나에게 꽤 이해하기 어려운 것 같습니다. 예를 들어 이벤트 관찰자에서 true를 반환하면 AFAIK와 같은 작업이 전혀 수행되지 않습니다. 또한 동일한 요소에 class="ng-hide"
사용할 때 수동으로 설정하지 마십시오 ng-show
.
어쨌든, 내가 올바르게 이해한다면, 당신은 부울 속성을 생성하고 비동기 작업이 완료된 후에 설정하기 만하면됩니다.
$scope.$on('someEvent', function () {
$scope.isLoadingFinished = true;
});
&
<item ng-show="isLoadingFinished">...</item>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다