我是Angular.js的新手,并尝试将嵌套控制器实现到列表中。即想象一下消息列表,一旦用户点击其中一个消息,它就会扩展并公开此消息的评论/元信息列表。我希望它在自己的嵌套控制器中。
我相信我的控制器等都设置正确,唯一的问题是当我点击一条消息时,它会显示每条消息下的评论框,而不仅仅是单击的消息。
以下是我的主要观点的HTML:
<ul ng-show="messages.length">
<li ng-repeat="message_i in messages">
<a ui-sref=".message({id: message_i.id })">
{{message_i.title}}
</a>
<div ui-view></div>
</li>
</ul>
一切都很完美,即点击ui-sref
链接时,会出现嵌套视图,它只会在每个ui-view
中呈现,而不仅仅是点击的消息。< / p>
我尝试在ui-view
- div中添加一个条件,以确保它是循环的正确迭代,例如ng-if="message_i.id==id"
,但这给了我一个错误。我想我无法简单地访问嵌套的.message
id
参数。
有没有办法用if条件解决这个问题?或者我是以另一种方式做到的?
~EDIT~
为了完整,这是一个小提琴: https://jsfiddle.net/yh1vawj7/10/
答案 0 :(得分:0)
嗯,经过一些研究后我发现了
所以我更新了我的代码以使用accordion并添加了一个事件,以便在点击标题时加载我的注释/元数据。遗憾的是,我无法为每个打开的对象保留自定义URL。如果有人更好地实现这一点,或者解决我原来的问题,请发表回答。