【发布时间】:2022-10-23 11:57:29
【问题描述】:
我有一些 JavaScript,以及 cl-who 做我想做的事:
(:script :type "text/javascript"
(cl-who:str
"
$(document).ready(function ()
{$('#mtcars-table').DataTable({
ajax: { url: '/data?sym=mtcars&fmt=dt',
dataSrc: 'mtcars' },
columns: [
{data: 'model', title: 'Model'},
{data: 'mpg', title: 'MPG'},
{data: 'cyl', title: 'Cylinders'},
{data: 'disp', title: 'Displacement'},
{data: 'hp', title: 'Horsepower'},
{data: 'drat', title: 'Axle Ratio'},
{data: 'wt', title: 'Weight'},
{data: 'qsec', title: 'Quarter mile time'},
{data: 'vs', title: 'V or Straight'},
{data: 'am', title: 'Transmission'},
{data: 'gear', title: '# gears'},
{data: 'carb', title: '# carbs'},
],
});
});
"))
但我在通过 ParenScript 转换为 JavaScript 时遇到了一些困难。目前,这似乎完成了我需要的大部分工作:
(:script :type "text/javascript"
(cl-who:str
(ps:ps (ps:chain ($ document)
(ready (lambda ()
(foo)))))
这让我:
"$(document).ready(function () {
__PS_MV_REG = [];
return foo();
});"
来自 ParenScript,因此请不要将 foo 替换为 $(mtcars-table ...。
达到这一点虽然是反复试验、错误和猜测,但我对 JavaScript 知之甚少。我不相信我这样做是“正确的方式”,ParenScript 的文档和教程很少。
任何专家都可以建议一种更好的方法来转换这个 JavaScript sn-p 吗?
【问题讨论】: