在控制台中更新控制器对象属性

时间:2017-04-30 21:32:30

标签: javascript angularjs debugging

不确定这是否可行,但我有一些内容与ng - 如果我想通过更新控制台内某个控制器变量的属性来测试。

  <div class="manager-only" ng-if="teamSchedule.userObject.isManager">
    <a href="#add-game">
      <input class="btn btn-success" type="button" value="Add New Game" />
    </a>
  </div>

正如您可能猜测的那样,userObject有一个isManager属性,它是一个布尔值。在页面加载时,它最初设置为false。我试图在控制台中更新它以测试ng-if。

我发现我可以将window.teamSchedule = teamSchedule;添加到控制器,以便在控制台中引用它及其变量,这样就可以让我更改userObject的对象属性。然而,ng-if似乎没有响应变化。

我已尝试将ng-if更改为ng-show,但似乎也无法正常工作。任何人都有办法做这项工作或知道它是否不可能?

谢谢!

1 个答案:

答案 0 :(得分:0)

首先解释为什么它不起作用。

您将对象更改为AngularJs范围,因此Angular并未意识到您更改了某些内容。

如果您未在开发系统上使用生产模式,则可以使用此模式访问该范围。

angular.element($0).scope()

$0是在chrome元素检查器中选择的最后一个元素。

尝试以这种方式访问​​您的对象,如果这不会触发更改,请尝试使用

scope.$apply(function() { your modification })