gpt4 book ai didi

javascript - 替换 JavaScript 中的变量

转载 作者:太空宇宙 更新时间:2023-11-04 15:48:43 25 4
gpt4 key购买 nike

对这篇文章中的所有代码表示歉意,但我不知道如何描述它。

我有一些Javascript,它位于Vue组件中(该组件是封装一个Datatable):

let table = $('#datatables-table').DataTable({ 

"ajax": {
"url": self.dataUrl,
"type": "POST",

"data": function(d){
d.table = self.table;
},

},


"columns": self.tableColumns,
order: [1, 'asc'],
dom: "Bfrtip",
responsive: false,//true wont let me hide columns
"scrollY": "600px",
"scrollCollapse": true,

"paging": false,
select: {
style: 'single',
selector: 'td:first-child',
blurable: true

},

buttons: self.buttons,

});

我正在尝试传递按钮(self.buttons)配置,这就是我想要的样子:


[{extend:'删除', editor: 编辑器},{extend:'创建', editor: 编辑器},{extend:'编辑', editor: 编辑器},],

在我的安装方法中,变量被填充。通过 AJAX:

axios.get(self.tableUrl)
.then(function (response) {

self.tableHeaders = response.data.tableHeaders;
self.panelTitle = response.data.panelTitle;
self.table = response.data.table;
self.editorFields = response.data.editorFields;
self.tableColumns = response.data.tableColumns;
self.buttons = response.data.buttons;

这是 PHP (Laravel),用于形成响应:

$dt->buttons = array(
array('extend' => 'remove', 'editor' => 'editor'),
array('extend' => 'create', 'editor' => 'editor'),
array('extend' => 'edit', 'editor' => 'editor')

);

然后我在 JS 中执行 JSON.stringify ,但这里的问题是我最终得到的是这样的:


"[{"extend":"删除","editor":"编辑器"},{"extend":"创建","editor":"编辑器"},{"extend":"编辑","编辑器":“编辑”}]”

那么,我怎样才能传入按钮,使它们不是字符串,并且编辑器不是“编辑器”(双引号)。

我认为我需要以某种方式将其作为字符串传递,但删除引号。

米克

更新:编辑器定义如上:

 let editor = new $.fn.dataTable.Editor({
"ajax": {
"url": self.dataUrl,
"type": "POST",
data: {table: self.table}
},

table: "#datatables-table",
idSrc: self.table + '.id',
fields: [self.editorFields]
});

完整代码:http://artisantinkerer.github.io/2016/12/15/Vue-Datatables.html

最佳答案

如果 response.data.buttons 确实是一个 JavaScript 数组,那么您可以通过这种方式替换 editor 属性的值。

response.data.buttons.map(b => ({extend: b.extend, editor: editor}))

或者根本不从服务器渲染 editor 属性,并将其映射到客户端并将其添加。

关于javascript - 替换 JavaScript 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43325951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com