问题标签 [angularjs-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.
angularjs - 观察一个函数及其所有变量以在 ngIf 中使用它
我想将ngIf
指令应用于 DOM 元素,这个ngIf
监视一个函数,那个函数检查其他变量的值。如下:
x
是一个携带方法和变量的对象。
x.isY()
并将其this.otherFunction()
返回值更改为,true
但 ngIf 不会重新创建 DOM 元素。似乎摘要循环既不关注x
对象也不关注array
对象。这是有道理的,因为我没有将它们直接用于 DOM 元素。但是,该方法isDone()
仅在我进入该状态或退出该状态时运行。
我做了以下解决方法,但我担心会出现性能问题:
我有两个问题:
- 为什么
isDone
进入和离开状态时函数会运行? - 有没有更好的方法来告诉 angular 在每个摘要循环运行时运行这个函数?或者观察其内部变量的任何变化(不添加
$watch
到每个变量)
angularjs - 我们可以在一个 div 标签中包含 ng-show 和 ng-if 吗?
以下代码段不起作用请建议任何其他方式
javascript - ng-if 下的指令在插入 DOM 时不会重新编译
这是一个演示标题中描述的问题的示例:https ://plnkr.co/edit/Xn1qgYftc5YHMsrGj0sh?p=preview
指令代码:
所以问题是当我切换回指令以显示时ng-if
- 它可能不会通过重新编译(?)完全重置,因此会导致行为不端。
如何跟踪指令何时从 DOM 中插入和删除?如果有办法,那么我可以用一个指标来解决这个问题。但一定有更好的方法,对吧?
angularjs - 在 ng-if 中使用数组函数时出错
这听起来很简单,但我一直在努力解决它!
在 AngularJs 1.4 中,我有一个使用数组的 some() 函数的 ng-if。我收到语法错误
语法错误:标记 '>' 不是列 ...
这样做的时候。
我的 HTML 是:
这是 plunk https://plnkr.co/edit/v5SLIU5dQdIlpP5sCmzR
谢谢!
angularjs - 尝试在 ng-if 指令中使用 or 来缩短检查条件。将系列值与多次比较,因为有许多值要签入或
我试过这样,但没有奏效:
有没有办法缩短这个<img>
标签(例如将系列与多个值或其他东西进行比较?)。我没有经常使用 angularjs,所以任何建议都将不胜感激。
javascript - 为什么 ngif 忽略优先级?
我创建了一个优先级为 1000 的自定义指令。在指令的编译函数中,我ng-if
从元素中删除。我的假设是,由于ng-if
优先级较低,为 600,它不应该被编译。
应用程序.js
索引.html
我创建了另一个指令来检查我对优先级的理解是否正确。myDirective
正在成功删除myDirective1
,但不是ngIf
。
以下是plunker链接:
javascript - ng-if 不使用简单的 javascript
当我通过简单的 javascript 函数更改值时,ng-if 不起作用。我的函数被调用,但在视图中看不到值的变化。请参考下面的代码。
HTML
JS
当我使用ng-click button
它时,它会更改更改的值bool
,但simple JS button
. 实际上我正在一个已经使用 jQuery 的页面中实现 Angular,所以我需要使用simple JS button
.
JS 小提琴:JS 小提琴
javascript - 如果满足条件,则使用 ng-if 显示某些内容
如果满足条件,我正在尝试使用ng-if
显示某些行,但似乎不能让它 100% 正确工作。
在上面的代码中,如果受益人的数量大于 0 ( ng-if="life.beneficiary.length > 0"
),我想列出名称并允许用户在必要时对其进行编辑。这部分工作正常。但是,如果受益人的数量等于 0,那么我想要一个显示“添加受益人”的链接,并允许用户这样做。
我将这些ng-if
陈述放在<a>
标签中,我不确定这是否正确。当我使用没有受益人的用户登录时,“添加受益人”链接不显示。
- 我在这里做错了什么?
angularjs - 再次:ng-click 在 ng-if 内的 ng-repeat 内不起作用
这很可能是另一个 Angular 范围问题。我努力寻找关于 SO 的解决方案,但是,我发现没有什么能解决我的问题。
我将 Angular.js 与Swiper.js一起使用。在外部垂直滑动器的一张幻灯片中,我有一个内部水平滑动器,仅在 ( ng-if
) 用户选择音频(不是视频)时显示;然后用户可以在多个图像之间滑动 ( ng-repeat
)。这些图像有我想点击的标题 ( ng-click
),因此它们可以被隐藏/显示 ( ng-show
)。
一切正常,除了点击后隐藏和显示。我尝试在几个代码级别(div)之间分配 ng 指令,并且尝试调用或不调用我的控制器函数。
这是我的代码:
为了完整起见,我包含了 $scope.selectedMedium 函数(在控制器内)和 end-repeat 指令(在控制器外结合了 Angular 和 Swiper):
在上面的代码中,我尝试不引用控制器中的函数,但在其他版本中,我尝试通过放置以下内容从(多个,我猜)子范围重新连接到 $scope:
我什至试过$parent.$parent.isCaptionShowing[$index]
。对于这种方法,我在 $scope.selectedMedium 函数中添加了以下行:
两种方法(全部在 HTML 代码中与对控制器函数的调用)都不起作用。我似乎 ng-click 功能没有按预期工作。任何想法可能是什么问题?
angularjs - 如何在角度 2 中使用 ngIf 比较日期并相应地更新卡片背景?
我有“md-grid-list”来在网格中显示卡片。我正在使用“ngFor”循环我的数据数组。如何使用“ngIf”将数组中的每个日期时间元素与给定的日期时间进行比较?如果条件成功,则将卡片的颜色设置为绿色,如果条件不满足,则将卡片的颜色设置为不同的颜色。