问题标签 [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.
angularjs - ng-if 没有按预期工作
我试图用来ng-if
显示和隐藏一些基于选项卡的数据,因为我不希望所有的 html 一直都在 DOM 上。这就是我想要做的。似乎ng-if
只有在加载页面时才有效,之后单击子选项卡,它仍在更新范围变量,但我没有在 UI 上看到更改。请帮忙。
谢谢。
javascript - 如何否定 AngularJS ng-if 指令的参数?
快速示例:
有一个路由参数 (/Home/:isLoggedIn) 等于 true 或 false。(/Demo/#/Home/false) 和一个控制器属性
this.loggedIn = this.routeParams.loggedIn;
我有一个视图(Home.html),它有两个元素,每个元素都有一个 ng-if 属性。
如果我导航到 /Demo/#/Home/true 则显示第一个元素而第二个不显示。如果我导航到 /Demo/#/Home/false 则第一个元素不显示也不显示第二个元素。
我希望 !home.loggedIn 参数在 loggedIn 的值实际上为 false 时评估为 true。
这里有什么建议吗?
angularjs - ng-if 中的 Angular ng-repeat 包裹在另一个 ng-repeat 中
不确定到底发生了什么,但看起来我的表达式没有得到评估或扩展。
输出显示代码正在执行每个 if,就好像它们都是真的一样。这会产生重复的复选框/单选按钮。
它应该如下所示:
angularjs - 无法将 ng-if 与 ng-repeat 一起使用
我试图在 ng-repeat 中使用 ng-if,但似乎 ng-if 无法正常工作。
我在 StackOverflow 中提到了几个论坛链接,但它对我没有帮助。
我正在使用角度版本 1.3.0
HTML
控制器
根据第一个条件,第一行不应显示(在下面找到屏幕截图以获取更多参考),但该行正在显示。
现在我按照建议在 div 中添加了控制器,但是我面临同样的问题
下面我给出了截图供参考。请帮助我如何解决这个问题,如果有进一步的说明,请告诉我。
下面提供了使用 angular 1.3 版本的工作模型的屏幕截图。如果我们使用 angular 1.0.2,nf-if 将无法正常工作(下面提供了屏幕截图)
角度版本 1.0.2 的屏幕截图
angularjs - 尝试在 ng-if 中从 ng-repeat 设置过滤的ItemsCollection 会阻止父作用域继承该值
我有一个嵌套在 ng-if 块中的 ng-repeat:
<div ng-repeat="item in filteredItems = (fullItemCollection | filter:searchQuery)>{{item}}</div>
当我尝试从我的控制器访问 $scope.filteredItems 时,我没有看到应有的 filterItems。我假设这与 ng-if 创建的范围有关,但我很确定我之前使用过类似的设置,没有任何问题。
做了一个 jsfiddle 作为演示:http: //jsfiddle.net/gLdeM/
还做了一个 jsfiddle 来表明这种行为在没有 ng-if 的情况下确实有效:http: //jsfiddle.net/LgSAL/1/
注意:我知道 plnkr 风靡一时,但由于某种原因,我们的防火墙阻止了 plnkr 的保存 :(
angularjs - 在带有 Angular 的 Internet Explorer 中,溢出-y 不能与 ng-if 一起使用
我正在使用 Angular 1.2.16 并使用 IE 11 进行测试。
在我的应用程序的 settings.html 中,我有以下部分:
其中“可滚动”类定义为:
和收件人表格:
单击按钮将控制器置于“输入模式”。这适用于 Chrome、Safari 和 Firefox。在 IE 中,当您单击按钮进入“inputMode”时,似乎没有任何反应,但是当您稍微调整窗口大小时,您会看到表单。
以下使其在 IE 中工作:
- 从该部分中删除“可滚动”类(不是我需要的选项)
- 直接显示表单而不使用 'inputMode' 条件(不是选项)
我也尝试了 ng-show 无济于事。
有任何想法吗?
谢谢。
angularjs - 如何使用 ng-if 和 table 根据条件显示 td
参考之前关于 ng-if in DIV 的帖子以供参考此处给出的链接 :: Ng-If inside DIV,但是当我尝试使用 ng-if inside table 和 td 上的 ng-repeat 时似乎没有运作良好。如果我错了,请纠正我我做了 2 次尝试根据条件显示列,但没有一个有效。下面我给出了代码供参考。有人可以帮我解决这个问题。如果您需要更多说明,请告知。
HTML
试试 :: 1
试试 :: 2
javascript - Angularjs- 保留不存在的 dom 元素的数据(ngIf=false)
我的表单对每种类型都有不同的字段:
它工作得很好但是当用户首先选择电子邮件,在主题字段中写一些东西,然后改回 sms 类型,然后当我在 $http.post 中发送消息对象时,它发送带有主题子对象的对象,即使 dom元素被删除。
我如何解决它?我只想发送链接到现有 dom 元素的数据。
谢谢