Angular edit by clicking on a tr
Angular edit by clicking on a tr
我正在使用Angular+Firebase+AngularFire创建我自己的应用程序。我有一张书的表格,我可以添加新书,现在我想实现"编辑"操作:
- 我点击那一行
- 我被重定向到"编辑"表单
- 所有数据必须来自我单击的表行
问题是关于第三部分,我不知道如何从单击的行中获取所有数据。
这是<tr>
:的HTML部分
<tr ng-click="bookCtrl.editBook(bookCtrl.book)" ng-repeat="book in bookCtrl.books">
<td>{{ book.name }}</td>
<td>{{ book.author }}</td>
<td>{{ book.price }}</td>
<td>{{ book.pubdate | date }}</td>
<td>{{ book.coverUrl }}</td>
<td>{{ book.pagesCount}}</td>
</tr>
我想我应该使用angular.element(event.currentTarget)
或类似的东西,但这只是一个猜测。DOM大师,请告诉我:)
更改此
<tr ng-click="bookCtrl.editBook(bookCtrl.book)" ng-repeat="book in bookCtrl.books">
至
<tr ng-click="bookCtrl.editBook(book)" ng-repeat="book in bookCtrl.books">
JSFiddle 的类似示例
您在函数中缺少正确的对象
<tr ng-repeat="book in bookCtrl.books" ng-click="bookCtrl.editBook(book)">
<td>{{ book.name }}</td>
<td>{{ book.author }}</td>
<td>{{ book.price }}</td>
<td>{{ book.pubdate | date }}</td>
<td>{{ book.coverUrl }}</td>
<td>{{ book.pagesCount}}</td>
</tr>
希望你能从这里访问数据。
使用Angular网格库,http://ui-grid.info.这是一篇关于它的好文章,http://brianhann.com/create-a-modal-row-editor-for-ui-grid-in-minutes.
function editRow(grid, row) {
$modal.open({
templateUrl: 'edit-modal.html',
controller: ['$modalInstance', 'grid', 'row', RowEditCtrl],
controllerAs: 'vm',
resolve: {
grid: function () { return grid; },
row: function () { return row; }
}
});
}
您可以使用ng repeat的$index属性,因此
ng-click="bookCtrl.editBook(bookCtrl.books[$index])" ng-repeat="book in bookCtrl.books track by $index">
这取决于您使用的网格库。我喜欢使用的一个基于角度的网格库是trNgGrid。我还使用了另一个带有trNgGrid的库ngDialog来实现您想要做的类似事情:弹出一个对话框来编辑单击行的详细信息。
trNgGrid有一些特殊的作用域变量gridItem
和gridDisplayItem
。文件报价:
点击当前绑定的行项目可以通过完成
指向实际数据项的
gridItem
范围变量,以及gridDisplayItem
,它指向格式化的项目,并且应该仅用于演示目的。
详细信息可在此处阅读。
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- I'我设计了一个下拉菜单,onclick会出现,而on blur会消失
- window.on.scroll事件未启动
- Jquery - table.row(tr) is undefined
- Socket.io on Mozilla Rhino
- CSS中的游标属性似乎不适用于USB On The Go
- 用Javascript添加带有#text的tr元素
- jQuery点击ON现在使用.load触发关闭
- 使用Javascript,如何显示<tr>在另一<tr>悬停时,隐藏第二个<tr>
- JQuery.on(“keydown”)追加到页面时不工作
- 使用.on动态添加jquery/js不知道的html元素
- angularjs$valid-on-dates在firefox中报告错误
- addEventListener on NodeList
- 当我在节点上拖动鼠标时,我如何防止使用d3.ehavior.zoom().on(“缩放”,重绘)
- jQuery 1.7.2:.on()在一个页面上工作;Don’别再干别的了
- Jquery on单击“显示信息”
- 平均值.on(事件[,选择器][,数据],处理程序)
- Angular edit by clicking on a tr
- Image swaping with click on <tr>
- Onclick doesn't work as expected on tr