当前位置: 首页 > 知识库问答 >
问题:

AngularJS:ng-模型不更新对象,但更新对象中的字段[重复]

西门智
2023-03-14

我正在与AngularJS项目工作,我有以下问题。我有个密码:

form.html:

<form>
  <input ng-model="someVariable" type="text"/>
</form>
<div ng-include="'form.html'"></div>
{{ someVariable }}
angular.module('SomeModule')
  .controller('DetailsController', function ($scope) {
  $scope.someVariable = {};
});

使用这段代码,someVariable不会显示,但当我将ng-model更改为someVariable.SomeField时,我试图显示它...管用!有人能解释一下为什么吗?

共有1个答案

羊光辉
2023-03-14

是-somevariable是一个原语(Boolean、null、undefined、number、string、symbol(eCMAScript6))。当Angular搜索一个要插值的变量时,如果在范围内没有找到它,那么只有当该变量不是一个原语,比如一个对象时,才可以在原型链中查找。

ng-include创建一个新的作用域,而您的变量是一个原语,因此找不到它。

当您将它放在对象下时,在ng-include创建的新子作用域中找不到该对象,但在父作用域中搜索该对象,然后找到并呈现父作用域。

有关更详细的信息,请阅读了解范围。

 类似资料:
  • 我已经搜索和尝试了许多答案,但我似乎无法让这个工作。我在MongoDB中有一个用户(db.users...)我试图在一个特定的文档中更新一个名为“角色”的字段。如果我执行: assert失败:需要对象错误:在printStackTrace(src/mongo/shell/utils.js:37:15)在doassert(src/mongo/shell/assert.js:6:5)在assert(s

  • 我正在使用Android MVVM架构和LiveData。我有一个这样的物体 我的视图模型是这样的 如何确保用户对象中的某个字段发生更改时,观察员收到通知?顺便说一句,重要的是要将这些数据保存在单独的对象中,而不是在ViewModel中使用字符串等主要值。

  • 我想在mongo数据库的数组中添加一个元素: 结果很完美: 更新:猫鼬模式:

  • 我有几个问题,请原谅我的英语!问题: null }型号: 谢谢你的帮助!

  • 我想知道是否有一个衬里可能像这样 我只是检查名字、姓氏等是否为空。如果我有几个这样的字段呢? 因此,如果我写入,我不想用空值更新任何字段 如果我的字段为空,是否有任何可能的替代方案可以告诉object spread或任何其他内容不要更新?

  • 我有一个ArrayList,里面有一堆MyObject对象。我想在我的对象中保留一个整数字段,它是ArrayList中这个对象的键,这样我就可以很容易地得到这个元素在ArrayList中的位置。 当我从这个ArrayList中删除一个对象时,会出现问题,因为索引会向左移动。避免这个问题的最佳方法是什么? 我应该不删除元素,而是用null覆盖它们(这样索引就不会移位),还是应该在删除一次之后遍历Ar