0

以下是我的 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);
  };

编辑 -

数据需要在图像点击时传递。

4

2 回答 2

1

您需要对您的对象进行 json 处理,使其成为一个字符串供您连接。

return '<img src="'+data+'" ng-click=\'open1('+JSON.stringify(testData)+')\' />';

编辑:如果您的数据包含一些单引号,不确定这是否可行。你可能不得不逃离他们。

于 2015-10-12T17:59:53.940 回答
0

特别感谢@Mike'Pomax'Kamermans,我改变了我的数据结构,现在只使用数字,即data.id ..类似这样的东西 -

function imageHtml(data, type, full, meta) {
    var dataId = parseInt(data.listId);
    return '<img src="'+data.ImageThumb+'" ng-click="open1('+dataId+')" />';
}

随时纠正我。

于 2015-10-12T18:38:39.943 回答