当前位置: 首页 > 面试题库 >

在angularjs中,当ng-options的数组更改时,如何使“ select”刷新?

艾凌龙
2023-03-14
问题内容

有一个select基于任何数组的。数组中的元素可能会更改。如何获得角度控制器来刷新阵列?

module.js

var langMod = angular.module('langMod',[]);
langMod.controller(.controller('colorCntl',function($ scope){
  $ scope.color ='wt';
  $ scope.colorArr = [
    {id:'br',名称:'brown'},
    {id:'wt',名称:'white'}
  ];
});

index.html

<form ng-controller ='wordCntl'>
  <在colorArr中选择ng-model =“ color” ng-options =“ c.id作为c的c.name”>
     <option value =''>-选择颜色-</ option>
  &lt /选择>
</ form>

从控制台:

>作用域= angular.element(document.querySelector('select'))。scope();
> scope.colorArr.push({id:'bk',name:'black'});
  3
注意!选择下拉菜单仍然只有棕色和白色,没有黑色

如何select刷新以使其中的所有元素colorArr都是选项?


问题答案:

Angular使用watchers,并且只有在摘要循环开始后才会更新UI

通常,您将通过UI中的某个事件或调用$
http服务
将数组添加到数组中,而这些将为您启动$
digest()

由于您只是直接添加到数组,因此Angular不知道任何更改,因此不会更新UI。

将您的语句换成a scope.$apply(function(){ //code });



 类似资料:
  • 我在其他的帖子里读到过,但我想不通。 我读过select也试过,但我想不通。

  • 问题内容: 我有一个Person对象数组 我正在使用带有ng-options这样的select: 我想显示与记录 符合条件的:假 的 红 颜色。因此,问题是我如何使用in 才能实现此目的?因为我们没有使用任何标签,如果我只需添加它不会工作在元素本身。 问题答案: 您可以在处理ngOptions指令后创建一个处理选项的指令,以适当的类更新它们。 更新 :旧代码有一些错误,并且自回答这个问题以来,我学

  • 本文向大家介绍AngularJS实现select的ng-options功能示例,包括了AngularJS实现select的ng-options功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了AngularJS实现select的ng-options功能。分享给大家供大家参考,具体如下: controller html 实现的DOM 可以用ng-change事件监控来看看输出的是什么

  • 问题内容: 这似乎困扰着很多人(包括我)。 在AngularJS中使用指令填充标签的选项时,我无法弄清楚如何为选项设置值。对此的文档确实不清楚- 至少对于像我这样的简单人而言。 我可以像这样轻松设置选项的文本: 例如,何时: 设置选项值应该是(可能是)最简单的事情,但是到目前为止,我还是不明白。 问题答案: 参见 ngOptions ngOptions(可选) – { } –以下形式之一: 对于数

  • 问题内容: 我有一个ng-repeat,它在更改正在使用的数组中的数据时不会更新。我已经研究了一段时间,但似乎没有任何效果。最初,当页面加载时,ng- repeat显示数据集的第一页,在获取新数据(下一页)并使用该数据设置该数组时,ng- repeat不会注意到更改,并且永远不会填充更新的数组。如果有人可以在正确的方向上指导我,将不胜感激。 }]); 问题答案: 尝试将tbody包装在div中,但

  • 我有一个名为的数组。它包含一系列对象,每个对象都包含一个名为的属性。我想在数组中的每个对象上重复该数组的内容。 如果我重复通过它在单个数组上运行良好。 但是,我想继续重复,就像这样: 等等。 我的(不正确)解决方案当前看起来如下: 在这种情况下,我假设$index将代表递增的整数,但它不起作用。有人能帮忙吗? 提前感谢...