gpt4 book ai didi

AngularJS 将变量添加到作用域问题

转载 作者:行者123 更新时间:2023-12-02 22:56:49 25 4
gpt4 key购买 nike

我正在开发一个更复杂的项目(10000+ LoC),在开发过程中我经常遇到问题。

当我向范围添加一个简单变量时,例如:$scope.editing = true;

   $sope.editing=false;

$scope.changeTextButtonClicked = function() {
$scope.editText;
}
   <span ng-hide="editing">{{editText}}</span>
<input type="text" ng-model="editText" ng-show="editing">
<input type ="button" ng-click="changeTextButtonClicked()">

$scope.editText的当前值无法从 Controller JavaScript 代码访问!在某些情况下,我在访问 $scope.editText 时得到旧值就像 DOM 没有更新一样,但是直接在网站上打印 {{editText}} 时它可以工作并得到更新,但在 Controller 中我得到旧值。

碰巧我有一个值 {{editText}}在网站上还有另一个值 $scope.editText在 Controller 中(无效的 - 上一个)。

我通过将其添加到数据数组或嵌套在范围内的任何其他数组来解决这个问题:

     $scope.data={}
$scope.data.editText = ...;

任何人都可以向我解释为什么它有时适用于 $scope.variable有时它不会,您需要添加 $scope.**foobar**.variable

最佳答案

我不久前遇到了同样的问题,然后我阅读了有关范围的教程。

https://github.com/angular/angular.js/wiki/Understanding-Scopes

无论如何,主要概念是当您使用 ng-model 时始终使用点表示法。所以 $scope.user={}然后是 $scope.user.name。

希望有帮助。

关于AngularJS 将变量添加到作用域问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27145493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com