以下是我的plnkr,它正常工作如果我没有将任何参数传递给我的open1
方法,但是我需要在$scope.open1
方法中传递一个对象,但它会抛出错误。
让我知道我做错了什么。
Plnkr - http://plnkr.co/edit/dzYfy1qtmBD3ng804nXR?p=preview
我面临问题的代码 -
function imageHtml(data, type, full, meta) {
// Error here
var testData = {"key1": "val1", "key2": "val2"};
return '<img src="'+data+'" ng-click="open1('+testData+')" />';
}
我通过这种方法提醒数据 -
$scope.open1 = function(data) {
alert(data);
};
编辑 -
数据需要通过图片点击。
答案 0 :(得分:1)
你需要json你的对象,所以它成为你连接的字符串。
return '<img src="'+data+'" ng-click=\'open1('+JSON.stringify(testData)+')\' />';
编辑:如果您的数据包含一些单引号,则不确定这是否有效。你可能不得不逃避它们。
答案 1 :(得分:0)
特别感谢@ Mike&#39; Pomax&#39; Kamermans我改变了我的数据结构,现在只使用数字,即data.id ..这样的东西 -
function imageHtml(data, type, full, meta) {
var dataId = parseInt(data.listId);
return '<img src="'+data.ImageThumb+'" ng-click="open1('+dataId+')" />';
}
随时随地纠正我。