ng-repeat列出数据项,对其中某条纪录弹出层进行编辑
发布于 10 年前 作者 yakczh 4754 次浏览 最后一次编辑是 8 年前 来自 问答
<ul>
    <li ng-repeat="user in users">{{name}}     <a href="{{id}}"> Edit </a></li>  
</ul>   

如果想要弹出一个层对选中的某条纪录进行编辑 这个页面怎么写呢? 不想切换到另外一个route去

7 回复

弹出一个 modal 改?

这样不是很直观吗?

@violet-day 试了一下,这个好象弹出层的内容修改了,列表页的并不会更新, 有没有弹出层里面修改了,页面列表自动更新的 ?

找了一个 http://fundoo-solutions.github.io/angularjs-modal-service/ 这个好象也是同样不能自动更新

1.你可以在$modal.close之后的回调函数里面重新执行你获取数据的请求 2.或者$modal.close(‘更新过后的数据’),调用$modal.close的时候将更新返回的结果传回列表的控制器,然后赋值过去

angular-bootstrap#dialog本身有独立的scope,而它的弹窗模板用了ngTransclude指令来嵌套你指定的模板,ngTransclude会继承dialog的scope,这意味着: 1.如果你在dialog的scope上关联简单类型数据,如number,string,最终由于prototype继承链的缘故会被写在ngTransclude的scope上 2.如果你在dialog的scope上关联引用类型数据,如object, array, 那么模板的双向绑定会真正生效到dialog的scope中 3.在dialog关闭之前,对外部页面的scope中的变量进行赋值,以便修改列表

原来我期望的是用数据列表的index索引来取数据, 比如data=[ {artitle:‘one’,hot:10}, {artitle:‘two’,hot:5}, {artitle:‘three’,hot:4} ]; 用 索引 0 就可以取到 {artitle:‘one’,hot:10}
将hot修改为1 期望得到 [ {artitle:‘two’,hot:5}, {artitle:‘three’,hot:4}, {artitle:‘one’,hot:1}]

但是实际上 | orderBy: ‘-hot’ 这个只是显示顺序, data的顺序并不会改变  这样就不能用索引来定位纪录了, 必须要原始数据纪录有个key值,通过遍历key值相等才能取到数据,有没有其他方法,可以实现用indexs索引就能取到数据的方法?

回到顶部