问题标签 [angular-ng-if]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 具有多个参数的 Angular ng-if=""
我正在尝试开始进行角度开发。在查看文档后,一些问题仍然存在。我如何最好地编写一个ng-if
具有多个参数的对应于
if( a && b)
或者if( a || b )
javascript - 模型不会在 ng-if 内更新
我在 Angular 应用程序中有一个奇怪的行为,我不知道这是错误还是已知限制:
我希望单击其中一个按钮会设置foo = true
,但单击第一个按钮(在 中ng-if="!foo"
)不会更改模型。
测试版本是1.2.1
.
javascript - 带有 ng-if 的 Angular 指令似乎松散了模型
我对 Angular 相当陌生,并试图制作一个指令来构造一个表单输入,通常是一个文本输入,但有时是一个基于输入是否与选项数组相关联的选择框。简化一下,我的代码大致如下所示:
html
指示
这几乎可以工作。如果我删除选择框上的 ng-if,我的选择框和我的模型保持同步就好了。但我想要的是能够在指令中选择哪个控件。这是对 ng-if 的滥用吗?还有其他方法吗?
angularjs - Angularjs ng-if 停止渲染 div
我正在学习 AngularJS,我只想div
在.$index == 2
这是我的代码:
Fiddle
:http: //jsfiddle.net/2prRw/3/
问题
“我的元素:0”、“我的元素:1”和“我的元素:3”从不显示。
结果是:
谢谢!
编辑
预期结果是:
angularjs - AngularJS 观察 DOM 变化
我有一个auto-carousel
指令遍历链接元素的children。
然而,孩子们还没有加载到 DOM 中,因为他们ng-if
的 s 表达式还没有被解析。
如何确保父指令知道它的 DOM 树发生了变化?
我可以使用$timeout
,但感觉不可靠。我也可以使用ng-show
代替,ng-if
但这不能回答问题,也不是我需要的。
javascript - Ng-repeat 意外的多次重复
我有一个看起来像这样的对象:
所以基本上我不知道对象的长度,我使用以下代码来呈现结果:
我希望表中的第一个元素(它也突出显示)始终是具有该primary=true
属性的对象。
上面表示的对象的预期结果:
当前结果:
如果我向对象添加第三个元素,我会得到:
小提琴:http : //jsfiddle.net/UuzZT/
angularjs - ng-if中的angularjs ng-view
使用 Angular 1.2.10 和 ngRoute,jquery 1.10.2 我的 index.html 中有以下代码:
初始登录页面(未配置为路由),下载所有需要的 javascript 文件,但在我登录后,并且 ng-if 评估为 true,我注意到 jquery 为浏览器中的所有 javascript 文件触发了一堆 XHR安慰:
控制台报告这些 XHR 正在从 jquery.1.10.2:8706 执行
根据文档,当 ng-if 评估为 true 时,该元素会在那时创建和编译。我想这与 ng-view 和 ngRoute 以及它们是如何连接在一起的,但我无法从文档中收集到为什么会发生这种特殊行为。如果有人可以对这种行为有所了解和/或如果我尝试采用的方法存在根本性错误,将不胜感激。
注意:如果我将 ng-if 替换为 ng-show,则不会发生此行为。
javascript - 当 ng-if 添加/删除元素时收到通知
我使用 ng-if 添加/删除用于内联编辑目的的打字头输入。ng-if 值由“编辑”按钮更新
那么,一旦将文本输入添加到 dom ,最好或推荐的方式是什么?
谢谢
莱昂内尔
javascript - AngularJS 1.2.13 ng-if 不会重新评估 $resource 结果
我在模板中有类似以下内容:
在此范围的控制器中,我有以下内容:
$scope.foo = $resource("path/to/resource").query();
资源加载只是找到并返回一个简单的 JSON 数组(通过在 Chrome 中观看请求来验证),其他调试显示foo
包含该数组,完全符合其应有的状态。第二个按预期div
应用foo-is-present
该类,但是第一个div
仍然将其ng-if
评估为 false,从而阻止其div
呈现。
这似乎不对,因为我希望div
在加载资源结果后首先显示它。我在这里想念什么?
编辑结果ng-if
是“truthy”的版本不包括数组,即使数组不为空。我可以通过添加将条件变为 来解决此问题ng-if="!!foo"
,但这感觉很糟糕。如果有人有更好的见解或解决方案,请分享!
angularjs - ng-if 在嵌入作用域中破坏作用域继承
那个小提琴说明了这个问题http://jsfiddle.net/LAqeX/2/
我想创建一个指令来包装页面的一部分并将其隐藏。我想使用 ng-if 来删除不必要的绑定。但是会发生一些黑魔法。
这是我更喜欢的指令代码。
它应该创建两个范围:
- 具有两个变量的指令隔离范围 - 标题和可见
- 原型继承自“常规”作用域树的嵌入作用域。
但是,ng-if 使 transcluded 范围与现实有些脱离,并且 transcluded 范围不继承自控制器。请看小提琴,它非常清楚地说明了这个问题。
任何想法那里发生了什么以及如何解决它?
更新
看来我已经找到了作用域链看起来损坏的原因。ng-if 创建的作用域属于 withIf 指令的isolate 分支。所以它永远不知道控制器的范围甚至存在。但问题仍然是一样的——在这种情况下如何使用 ng-if。