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

在angularjs中获取$ this

公西博实
2023-03-14
问题内容

这是我的问题。

HTML结构:

<tr><td><a ng-click=aClick()>Click Me</a></td></tr>

我不能有与和相关的ID /类别

我需要的是单击“单击我”,然后<tr>将其隐藏。我需要一个jQuery解决方案。有些我无法使用$(this)

功能:

$scope.aClick = function() {
   $(this).parent().parent().css('display','block');
};

但是这个说法给我一个错误。


问题答案:

注意:我不建议在控制器中使用dom操作,您可以编写指令来执行此操作。也就是说,您可以使用$event获取事件对象,从中可以获取事件目标并将其与jquery一起使用。

<tr><td><a ng-click="aClick($event)">Click Me</a></td></tr>

  $scope.aClick = function(event) {
     $(event.target).parent().parent().css('display','none');
  };

演示:柱塞

更新
一个更合适的角度解决方案是使用ng-hide

<tr ng-hide="hideRow"><td><a ng-click="hideRow = true">Click Me</a></td></tr>

演示:柱塞

使用ng-repeat
更新了演示



 类似资料:
  • 问题内容: 这是我的plnkr:http ://plnkr.co/edit/n8cRXwIpHJw3jUpL8PX5?p=preview 您必须单击li元素,然后表格会出现。输入一个随机字符串,然后点击“添加通知”。代替textarea文本,您将得到未定义。 标记: JS部分: 返回“未定义”。我注意到当使用angular-ui的ui-if时,这不起作用。任何想法为什么这不起作用?如何解决? 问题

  • 问题内容: Express文档说,我们可以使用此功能通过对象设置Cookie: 我想使用Angular ngCookie 检索此值: 但是它抛出一个错误: 我可以使用来检索Cookie的字符串值,实际上,它看起来像这样: 我知道我可以删除字符然后解析对象,但是我宁愿有一个更通用的方法。 我可以强制Express不使用此语法设置cookie(不带“ j:”)吗? 问题答案: 您可以手动创建JSON字

  • 问题内容: 我希望能够创建一个自定义AngularJS服务,该服务在其数据对象为空时发出HTTP“获取”请求,并在成功时填充该数据对象。 下次调用此服务时,我想绕过再次发出HTTP请求的开销,而是返回缓存的数据对象。 这可能吗? 问题答案: Angular的$ http 内置了一个缓存。根据文档: cache – {boolean | Object} – 用$ cacheFactory创建的布尔值

  • 问题内容: 我有以下由时间戳记中的模型值填充的文本输入: 它将输入值显示为给定的时间戳。 我想将输入中可见的值转换为格式化日期(YYYY / MM / DD),但在模型中应始终将其作为时间戳记。 我试图通过这种方式做到这一点: 但是没有运气。 感谢您的任何建议。 问题答案: 您可以尝试过滤器 的HTML 控制器JS

  • 问题内容: 我正在开发angularjs应用程序作为我的angularjs学习的一部分。我有控制器,从那里我叫服务层。 }); 我注意到由于$ http.get.then东西的异步特性,不会立即检索数据,因此当我从控制器(teamsController)调用getTeams()时,我不会得到“ teams”,我会得到没有。 知道我该如何解决吗? 第二次尝试: 在阅读了有关以下文章所建议的关于角度的

  • 问题内容: 我已经编辑了数据,并试图仅获取用户已选择的数据。我不确定该怎么做,这就是我所拥有的: HTML: JS: 我确实以一种方式使它工作-通过向每个对象添加属性并将复选框的更改为,然后可以在函数中对此进行过滤。但是,这似乎效率很低,如果可以避免,我不想在模型中添加额外的属性。 有没有更好的办法 ? 问题答案: 的JavaScript HTML http://plnkr.co/edit/lqt