programing

$viewContentLoaded가 실행되지 않습니다.

minimums 2023. 3. 4. 14:25
반응형

$viewContentLoaded가 실행되지 않습니다.

$viewContentLoadedAngular 컨트롤러에서 절대 실행되지 않습니다.다음 항목:

function MyController($scope)
{
    $scope.$on('$viewContentLoaded', function()
    {
        alert("blah");
    });
}

중단점에 도달하지 않고 경고를 표시하지 않습니다.이게 일반적인 용도라고 생각하기 때문에 어떤 것일지는 모르겠지만, 확실히 발화하지 않습니다.컨트롤러 내의 다른 모든 것은 정상적으로 동작하고 있습니다.

원인은 무엇입니까?

대신 다음을 시도해 보십시오.

  function MyController($scope)
    {
        $scope.$watch('$viewContentLoaded', function()
        {
            alert("blah");
        });
    }

위의 코멘트에 근거해 보면, 다음과 같은 것을 가지고 있는 것 같습니다.

<ng-view>
   <div ng-controller="MyController"></div>
</ng-view>

ng-view 태그의 콘텐츠가 어떤 기능을 할지는 모르겠지만$viewContentLoadedng-view 스코프에서 출력됩니다.즉, 이 값은 VIP 주소에서ng-view따라서 컨트롤러가 절대 감지하지 못할 것입니다.

뷰의 div에서 ng-controller를 사용하는 것이 아니라 app.js 루트 프로바이더에서 컨트롤러를 지정함으로써 이 문제를 해결했습니다.이 메서드는 $viewContentLoaded를 사용해야 하는 경우에만 사용하고, 그렇지 않은 경우에는 ng-controller를 사용합니다.

angular.module('myapp', [...])
.config(function ($routeProvider, $locationProvider) {
   $routeProvider
      .when('/MyRoute', {templateUrl: 'views/MyView.html', controller: MyController})
  });

언급URL : https://stackoverflow.com/questions/16223819/viewcontentloaded-isnt-firing

반응형