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

AngularJS:ng-如果不能与ng-click结合使用?

燕英奕
2023-03-14
问题内容

给定使用AngularJS 1.2 rc3的测试用例:http :
//plnkr.co/edit/MX6otx(以下重复)

1。

<li ng-init="toggle1 = false">
    ng-if toggle1: {{ toggle1 }}
    <p>
        <button ng-if="!toggle1" ng-click="toggle1 = true">Turn On</button>
        <button ng-if="toggle1" ng-click="toggle1 = false">Turn Off</button>
        does not work
</li>

2。

<li ng-init="obj={toggle2:false}">
    ng-if obj.toggle2: {{ obj.toggle2 }}
    <p>
        <button ng-if="!obj.toggle2" ng-click="obj.toggle2 = true">Turn On</button>
        <button ng-if="obj.toggle2" ng-click="obj.toggle2 = false">Turn Off</button>
        then why does this work?
</li>

问题:

  1. 为什么1不起作用?
  2. 1个应该工作吗?
  3. 为什么2起作用?
  4. 2应该工作吗?
  5. 我可以依靠2来进行AngularJS的将来更新吗?

问题答案:
  1. 为什么1不起作用?: 因为ngIf定义了自己的作用域,它通常是从其父作用域继承的(就像ngRepeat一样)。因此,当您更改ngIf内部字段的值时,请在ngIf范围而不是其父范围中更改它。
  2. 1个应该工作吗?:
  3. 2为什么起作用?: 因为在这种情况下,您需要通过继承来修改ngId范围所引用的对象的 内容
  4. 2应该工作吗:
  5. 我可以依靠2在AngularJS的未来更新中工作吗: 为什么不呢?

https://github.com/angular/angular.js/wiki/Understanding-
Scopes中
很好地解释了该范围继承机制。



 类似资料:
  • 问题内容: 我试图使用 AngularJS 提供的和函数显示/隐藏一些HTML 。 **** 根据文档,这些功能的各自用法如下: ngHide – {表达式}-如果表达式为true,则分别显示或隐藏该元素。ngShow – {表达式}-如果表达式为真,则分别显示或隐藏该元素。 这适用于以下用例: 但是,如果我们使用对象中的参数作为表达式,则和被赋予正确的/ 值,但这些值不会被视为布尔值,因此始终返

  • 问题内容: 我正在尝试使用ng-repeat生成表单输入。注意:’customFields’是字段名称的数组:[“ Age”,“ Weight”,“ Ethnicity”]。 设置“ ng-model”的最佳/正确方法是什么?我想将它作为 person.customfields.’fieldname’ 发送到服务器,其中fieldname来自’customFields中的field’。 问题答案:

  • 问题内容: 我想在ng-repeat中使用正则表达式。我尝试了以下代码,但无法正常工作。 我有用户数组,我只想显示类型为c5的用户。 如果我用 然后它也以“ ac5x”类型显示用户,因为它包含c5。 我怎么解决这个问题?也许还有另一种解决方案。 谢谢! 问题答案: Tosh提到的内容应该对您有用! 如果您发现自己想更频繁地使用正则表达式进行过滤,则可以创建一个自定义过滤器。像这样的小提琴使您可以指

  • 问题内容: 我正在尝试构建的超级简单AngularJS应用程序,用于将凭据接受到两个文本框中,然后使用双向绑定将按钮单击重定向到包含两个变量的URL。 我的问题是,我可以让它简单地工作 (或ng-href = …),但是由于某种原因,无论我做什么,我都无法使用 我尝试了很多变体,但这是我想要做的 如果我在控制器中调用一个函数,我可以使它正常工作,但这是一件很简单的事情,我希望在页面上尽可能完成它。

  • 有一个给定的数据库结构和graphql模式。幸运的是,他们有很多共同点,但不幸的是有一些不同。假设java中有与以下数据库结构匹配的实体。 SQL: Java: 现有的GraphQl模式被认为是这样的: 该项目在11.0版中使用graphql java(我想我们应该很快更新) graphql运行良好,实现方式如下: 因此,如何摆脱getGraphQlCowFromCowEntity和GetGrap

  • 问题内容: 我正在尝试使用angular加载div以提供给同位素以进行布局。由于某种原因,我无法使用ng-repeat创建div。当我做类似的事情时,它可以正常工作: [agg.html] [controlers.js] 虽然上面的方法可以正常工作,但是当我尝试从角度使用ng- repeat时,div似乎变得不可见(它们在dom中,但我看不到它们)。我试过调用isotope(’reloadItem