データオブジェクトとオブジェクトIDをボタンに渡そうとしましたが、文字列の生成に奇妙な出力があるという構文エラーがあります。RenderWith passing idが機能しません
コントローラ
$scope.dtUnitColumns = [
DTColumnBuilder.newColumn(null, 'Action').notSortable()
.renderWith(function(data, type, full, meta){
if(false) return '';
else {
return '<div class="btn-group">'
+ '<button data-toggle="modal" data-target="#modal-manage-unit" type="button" ng-click="openUpdateUnitModal('+data+')" class="btn btn-xs btn-default"><i class="fa fa-pencil"></i></button>'
+ '<button type="button" ng-click="openRemoveUnitModal('+data.id+')" class="btn btn-xs btn-default"><i class="fa fa-times"></i></button>'
+ '</div>';
}
})
];
HTML出力
<div class="btn-group">
<button data-toggle="modal" data-target="#modal-manage-unit" type="button" ng-click="openUpdateUnitModal([object Object])" class="btn btn-xs btn-default">
<i class="fa fa-pencil"></i>
</button>
<button type="button" ng-click="openRemoveUnitModal(73cc5596-9dc5-11e7-adc6-6c40088df298)" class="btn btn-xs btn-default">
<i class="fa fa-times"></i>
</button>
</div>
エラー
> My data is an object.
> Syntax Error: Token 'Object' is unexpected, expecting []] at column 29 of the expression [openUpdateUnitModal([object] starting at [{4}].
> My data.id shows error, because is an UUID without string
> Syntax Error: Token 'cec042' is unexpected, expecting [)] at column 23 of the expression [openRemoveUnitModal(73cec042-9dc5-11e7-adc6-6c40088df298)] starting at [cec042-9dc5-11e7-adc6-6c40088df298].
"openRemoveUnitModal(" '+ data.id +' ")"を使用してUUIDを文字列に変換しようとすると、余分な等しい後ろの文字列が生成されます。
= "openRemoveUnitModal(" 73cec042-9dc5-11e7-adc6-6c40088df298 ")" = ""