Невозможно установить угловую модель из Javascript

Я попытался установить значение модели angularjs из кода Javascript, но это не сработало. Я всегда получаю пустое значение для этого свойства. Ниже приведен фрагмент моего html-кода:

  <script type="text/javascript">

    VSS.init({
        explicitNotifyLoaded: true,
        usePlatformScripts: true,
        usePlatformStyles: true
    });

    VSS.ready(function () {            

        console.log("Organization name " + VSS.getWebContext().account.name);
        var scope = angular.element(document.querySelector('#hubContainer')).scope();
        scope.$apply(function () {
            scope.DashboardModel.AccountKey = VSS.getWebContext().account.name;
        })
    });

   </script>

  <div class="ng-cloak tree-master-wrapper">
    <div id="hubContainer" class="ng-scope" data-ng-controller="MyController">
       Some code comes here…….
   </div>

Но по некоторым причинам console.log («AccountKey» + $ scope.DashboardModel.AccountKey) пуст. Любая идея? Я использую https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js.


person user8185956    schedule 05.04.2019    source источник


Ответы (1)


Я смог решить эту проблему, добавив эту запись в «MyController»:

MyModule.controller('MyController', ['$scope', function($scope){

    $scope.DashboardModel = new DashboardModel(); 

    var checkPermission = function (selectedTeam) {
    VSS.require(["VSS/Service", "VSS/Security/RestClient"], 
    function(VSS_Service, Security_RestClient) {   
       $scope.DashboardModel.AccountKey = VSS.getWebContext().account.name;
    });
   });
  }
person user8185956    schedule 05.04.2019