javascript - `ng-repeat` 行中的详细信息部分

标签 javascript jquery html angularjs

我正在使用ng-repeat创建行,每行都有可扩展的部分,其中显示详细信息。我在行单击时获取数据并通过两种方式绑定(bind)填充详细信息区域。但这是问题,所有详细信息部分都被指定为公共(public)范围变量。

有人可以指导我如何解决这个问题吗?

我想到的一个解决方案是维护每个细节的map结构。但不知道这是一个好主意还是有更好的解决方案来解决这个问题

提前致谢

编辑 Angular.js 版本:1.0.8

最佳答案

我认为你的问题是你将详细信息标签的“ng-open”绑定(bind)到 ng-repeat 父范围中的 bool 值,而不是将其绑定(bind)到 ng-repeat 迭代本身的属性( ng-repeat 的每个循环都会创建实际作用域的子作用域)。 这是一个例子:

<tr ng-repeat="thing in things">
    <td ng-click="showContent = !showContent">
      <details id="details" ng-open="showContent">
        <summary><em>Details</em></summary>
          <p ng-bind="thing.info"></p>
     </details>
    </td>
</tr>

在重复的每个循环中,它将创建一个子范围,每个范围都将包含一个“私有(private)”showContent 属性,您的 ng-open 指令将附加到该属性。

希望这是您的问题并且对您有所帮助。

--编辑--

(当然,您必须确保“showContent”属性未在您的作用域 Controller 上声明)

关于javascript - `ng-repeat` 行中的详细信息部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24113600/

相关文章:

javascript - 从 Angular 的生产环境中排除组件代码

javascript - 动态生成的元素存储在 HTML 节点树中的什么位置?

javascript - 选择一个单选按钮以显示弹出窗口并保持选中状态

javascript - jQuery - 单击/取消单击时更改 Div 高度

javascript - 在提交时将值传递给变量后尝试更改页面内容而不重新加载

javascript - 如何显示当前 Twitch 流的状态?

javascript - 无法在 WebPack 中导出 API

javascript - 自动单击文件选择上的按钮以获取 html 表单

jquery - 为什么 jQuery 对 div 的高度返回 null?

javascript - 让 jQuery 插件相互协作(特别是 Jrumble 和 Masonry)