无法在函数Javascript

时间:2015-10-12 17:44:06

标签: javascript angularjs angular-datatables

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

编辑 -

数据需要通过图片点击。

2 个答案:

答案 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+')" />';
}

随时随地纠正我。