【问题标题】:AngularJS - Getting a ng-repeated DOM element's data modelAngularJS - 获取 ng-repeated DOM 元素的数据模型
【发布时间】:2014-01-21 04:30:30
【问题描述】:

这看起来超级简单。但我不知道它应该如何工作。

我有一个项目的无序列表,它是从 ng-repeat 构建的,它本身基于数据对象的集合。

所以在 DOM 中(在 Jade 中):

  div#projectListing
    ul.sidebar-listing
      li.sidebar-header Theatrical Projects
      li.sidebar-item(ng-click="loadProject()", ng-repeat="project in theatricalProjects | orderBy:'title'") {{ project.title }}

现在我的侧边栏中有一个很好的项目列表,但我希望能够单击其中一个元素,并获得与其相关的完整模型 - 项目。处理这个问题的“角度”方法是什么?我是否需要创建自定义指令而不是使用 ng-click()?我是否需要为每个列表分配一个具有唯一名称的 ng-model?

谢谢。

【问题讨论】:

  • the full model 是什么意思?是project 模特吗?

标签: javascript angularjs pug


【解决方案1】:

我假设您在单击时需要 loadProject 内的相应 project。您可以将 project 作为参数传递给 loadProject 并在您的函数定义中接受它:

li.sidebar-item(ng-click="loadProject(project)", ng-repeat="project in theatricalProjects | orderBy:'title'");

基本上 ng-repeat 将为所有重复的元素 (li.sidebar) 创建一个子范围,因此所有这些子范围都将具有与它们相关联的属性 project 以及来自方法内部的 loadProject() 你应该是也可以使用this.project访问它

【讨论】:

  • 太棒了!谢谢!我确信这很简单,但我无法让我的谷歌查询措辞能够给我所需的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-03
  • 1970-01-01
  • 2015-12-05
  • 1970-01-01
  • 1970-01-01
  • 2019-03-15
  • 1970-01-01
相关资源
最近更新 更多