在模态内声明的变量的角度范围

时间:2014-11-12 15:18:03

标签: javascript angularjs twitter-bootstrap

仍在学习AngularJS。我偶然发现了另一个AngularJS / JS怪癖。

我正在使用bootstrap 3打开一个带有咏叹调标签的模态,使用按钮打开angularjs:

<button class="btn btn-xs btn-default" data-toggle="modal" data-target="#test-modal">
    Show modal
</button>

在我的模态中,我在ng-repeat标记中设置了一个布尔值:

<div ng-repeat="test_data in test_array">
    <label>{{test_bool}} - Assertion: {{test_bool == true}}</label>
    <button ng-click="test_bool = !test_bool">Flip</button>
</div>

我希望在关闭和重新打开模态时,test_bool会被初始化,但事实并非如此。相反,即使模态被关闭,变量也会保持状态。

我在这个plunkr中说明了它:http://plnkr.co/edit/sO5bAq81OR3oB8O4zHEk?p=preview

如果这些值都具有相同的名称,角度如何区分?我知道我可以通过从JS启动它来定义模态使用的范围,但是当所有值具有相同名称时,这对我有何帮助?数据必须包含在我不知道如何到达的特定于角度的数据容器中。

我通常通过打印变量并在控制台中查看这些问题来调试这些问题,但由于我不知道的原因,这对于角度“$”变量是不可能的。

所以我的问题:如何从我的控制器代码访问模型中定义的变量?我如何确保每次打开模态时都清除这些变量?

干杯!

0 个答案:

没有答案