问题标签 [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.

0 投票
1 回答
1398 浏览

angularjs - ng-if 在条件不成立时显示空 DOM 元素

我在视图文件中有以下内容:

选择时tab1,信息显示正确。但是,当打开时tab2,似乎<p>正在显示两个跨度中的元素 - 为<p>与 相关的元素显示一个空值tab1。通过查看 DOM 树,似乎在 on 时tab2ng-if条件未显示:<!-- end ngIf: currentTab == 'tab2' -->。谁能看到问题可能出在哪里?如果需要更多代码,请告诉我。

0 投票
1 回答
843 浏览

javascript - 带有ajax请求的Angularjs ng-if

我是 angularjs 的新手,并试图弄清楚如何根据权限显示/隐藏导航栏元素。我目前正在通过 ajax 请求获得权限:

HTML:

JSON 响应(console.log):

控制台记录了正确的权限(设置为 true),但我不知道如何让编译器等到请求完成后再执行 ng-if。我想使用 ng-if 以便完全删除 DOM 元素,而不是仅仅隐藏。

我可能会以错误的方式解决这个问题,所以任何可以阐明的光都将不胜感激。

0 投票
0 回答
584 浏览

javascript - 在AngularJS中有条件地显示表单的正确方法是什么

我正在开发一个支持搜索过滤器的小项目。我有一个默认选择下拉菜单,用户可以从中选择产品名称、状态和日期。这些选项确定接下来要显示或替换的表单类型。

当用户选择产品名称时,另一个下拉菜单会显示 Equals 和 Not Equals 等选项以及输入字段。

如果用户选择日期,则会显示另一个选择下拉菜单,其中包含小于、大于和介于等选项。对于大于和小于选项,会显示一个日期选择器。如果用户选择Between,则显示两个日期选择器,一个用于开始日期,另一个用于结束日期。

到目前为止,我已经通过使用例如ng-if||.

我知道必须有另一种方式,Angular way.

这是我目前拥有的代码。我有一个productsFormFilterBuilderCtrl动态构建表单的控制器。

});

接下来我有一个 HTML 模板,其中选择下拉菜单是使用ng-options. 这个视图非常臃肿,带有显示特定表单的逻辑。例如,单个日期选择器与两天选择器。

这还支持添加/删除表单元素或删除所有添加的表单元素,如附图所示。任何提示/建议将不胜感激。我的用户界面视图

0 投票
1 回答
94 浏览

angularjs - Order AngularJS 指令的创建与我从文档中理解的不同

我有一个 AngularJS 应用程序,我必须用光标键遍历一些元素。为此,我创建了一个名为 selectable 的指令,该指令在创建指令时将一些信息添加到服务中的列表中。

重要的是,这要按照可选指令出现在视图中的顺序发生。

根据我的研究:

指令编译分步

我认为这会起作用,因为会按顺序创建预链接和控制器。但这并不总是发生。

这是我的 HTML:

这里的指令:

我在控制台日志中看到的是,可以使用 ng-if 选择的底部是在第一个 ng-repeat 之后创建的,然后创建了其余的 ng-repeat。

我做了一个 plunker 来演示会发生什么。请检查 plunker 的控制台日志。

Plunker:指令创建顺序测试

0 投票
1 回答
86 浏览

javascript - Angular ng-if 子句不能双向工作

我在表格中显示一个 json,如下所示:

其中 allRooms 包含这样的 json 对象:

并且 Type 属性可以是五个不同值之一(“typeOne”、“typeTwo”、“TypeThree”等)

我想使用 ng-if 在列中显示按钮,仅当 Type 不是“typeOne”或“typeTwo”时,例如:

这对我不起作用,尽管这是我需要的。

但是,这(虽然它没有达到我所需要的)确实有效:

所以我想知道为什么第二个 ng-if 可以正常工作,但第一个不能,当两者之间的唯一区别是使用等于或不等于运算符时?

0 投票
1 回答
112 浏览

angularjs - Angular ng-if 仍然运行

试图弄清楚ng-if。为什么要执行警报功能?谢谢

0 投票
2 回答
228 浏览

javascript - 在 ng-if 编译后访问指令中的 DOM 元素

我正在尝试构建一个侧面导航菜单,但希望根据 DOM 的状态(即我的 DOM 中的 s)动态填充其项目。<section>

但是,我将一些ng-ifs 应用于<section>基于通过 AJAX ( )检索的范围变量的各种 s。$http.get因此,当指令被编译(或链接)时,这些范围变量还没有被检索到并且ng-ifs 还不稳定(它们被评估为好像变量是undefined)。

主要 HTML

Sidenav HTML

指令定义

表达式稳定 访问页面上 DOM 元素的最佳方式是什么?ng-if我在想$timeout,但真的不知道“安全值”是什么。

或者我可以/应该以某种方式使用$watch?有没有办法ctrl.sections动态更新?

0 投票
1 回答
670 浏览

angularjs - angularjs - 具有 4 个条件的 ngswitch

我需要写一个ng-switch有4个条件的角度。

SO上的其他一些答案建议使用ng-if而不是ng-switch.

所以我尝试了ng-if,但我真的不认为这是最好的方法,我会解释为什么:

基本上我需要显示 3 个不同的图标,这取决于我的范围内的一些变量。

我的模板中的代码如下:

现在,对我来说,这看起来真的很乱。而且,它没有按预期工作,因为它遍历所有打印所有真实的 if 语句。

是否可以做类似以下的事情?

或者,您对如何正确处理此类模板还有其他建议吗?

希望问题足够清楚。

谢谢你的帮助

0 投票
3 回答
3141 浏览

angularjs - ng-if causes links to show for a second then disappear. How to prevent showing

ng-if sometimes causes links on my page to show during load time, and then disappear.

The link is not supposed to show at all, and I am assuming that the ng-if statement hasn't been processed yet for the second I am able to see it.

Is there a way to prevent the link or element from showing at all?

I am also guessing that the currentClass object is not loaded yet so the ng-if can't evaluate, but I am trying to default it as hidden until the ng-if can resolve.

0 投票
1 回答
1612 浏览

javascript - Remove

I am new at JavaScript and AngularJS. I catch a problem. I want to remove h1 tag when go to /main route. I know that i must use ng-if and expression with $location at controller.

What expression i must use to remove this , or i must write function at controller to check.Thank you in advance