我在我的应用程序中使用ui-grid。
我在<a href ng-confirm-click confirmed-click="deleteProductFn(row.entity._id)"> <i class="fa fa-trash text-danger"></i> </a>
中使用.directive('ngConfirmClick', function () {
return {
link: function (scope, element, attr) {
var msg = attr.ngConfirmClick || "Are you sure want to delete?";
var clickAction = attr.confirmedClick;
element.bind('click', function (event) {
if (window.confirm(msg)) {
console.log(msg);
scope.$apply(clickAction);
}
else {
}
});
}
};
})
来删除该行,为此我使用了以下指令。
CellTemplate:
console.log(msg);
指令
@JsonSerialize(keyUsing = ClassNameSerializer.class)
public static class TreeConfigMap extends HashMap<Class<? extends TreeItem>, Map<String, Object>>{
//empty
}
这里 ObjectMapper mapper = new ObjectMapper();
SimpleModule simpleModule = new SimpleModule();
simpleModule.addKeySerializer(Class.class, new ClassNameSerializer());
mapper.registerModule(simpleModule);
...
mapper.writeValueAsString(treeConfigMap)
在控制台中打印消息但下一行范围。$ apply不起作用。
非常感谢任何帮助。
答案 0 :(得分:0)
问题在于您访问该行的方式。
应该是row.entity
而不是row.entity._id
。
如果要访问行中的属性,可以在函数中执行此操作,但不能通过属性将行对象传递给函数。
$scope.deleteProductFn = function(entity) {
//If you want to get to a property on the row entity
//get it here:
console.log(entity._id);
};