Pupulate Dom HTML fom JSON and coffeescript

Pupulate Dom HTML fom JSON and coffeescript

本文关键字:and coffeescript JSON fom Dom HTML Pupulate      更新时间:2023-09-26

我对咖啡脚本很陌生。

我正在为 Ubersicht 构建一个小部件

根据文档,我需要指定一个命令、一个更新间隔和一些样式

到目前为止,我已经能够调整其他现有的小部件,但是在尝试创建自己的小部件时,我遇到了障碍。

我想迭代一个 JSON 数组并填充一个表。

我尝试按照此处找到的示例进行操作:

如何使用咖啡脚本循环访问 JSON 哈希

但我看不出我做错了什么。dom 检查器抛出一个错误,指出存在意外缩进。我整夜都在试图弄清楚这一点。请帮忙。

# ######################
# index.coffee
#######################
refreshFrequency: 5000
style: """
  white1 = rgba(white,1)
  white05 = rgba(white,0.5)
  white02 = rgba(white,0.2)
  black02 = rgba(black,0.2)
  icon-size = 28px
  //bottom 220px + 49
  //right 0px
  overflow hidden
  @font-face
    font-family Helvetica Neue
  .user_data
    color white1
    white-space nowrap
    width 176px
    padding 8px 0
    align-items center
    display flex
  .text, 
    font-size 8pt
    font-weight 200
    color white1
    text-overflow ellipsis

"""
todayfile = '~/Desktop/today.txt'
command: "cat #{todayfile}"
render: -> """
    <table class="user_data text"><br>
    </table>
"""
update: (output, domEl) ->
    dom = $(domEl)
    data = JSON.parse output
    alloc = data?.name?.user_name?.allocated_hours
        for keys, values of data
        text = '<tr><td>' + data.name[i] + '</td></tr>' + '<tr><td>' + data.user_name[i] + '</td></tr>' + '<tr><td>' + data.allocated_hours[i] + '</td></tr>'
        dom.find(".user_data").innerHTML =

和 JSON 文件

{"results":[{"user_id":"63","user_name":"blueboy","name":" (Super Man)","allocated_hours":"7"},{"user_id":"510","user_name":"allblack","name":" (Batman)","allocated_hours":"7"},{"user_id":"418","user_name":"ladyinred","name":" (Wonder Woman)","allocated_hours":"8"}]}
refreshFrequency: 5000

这不是分配变量的方式:

  1. 变量赋值为 = ,即刷新频率 = 5000

  2. 在对象中分配项目是通过:完成的,即:

    my_object = 
         refreshFrequency: 5000
    

您已经多次重复此错误;-)请注意,您使用 = 进行函数分配,因此render: ->也是错误的,需要render = ->


update函数的缩进已关闭:

update: (output, domEl) ->
    dom = $(domEl)
    data = JSON.parse output
    alloc = data?.name?.user_name?.allocated_hours
        for keys, values of data
        text = '<tr><td>' + data.name[i] + '</td></tr>' + '<tr><td>' + data.user_name[i] + '</td></tr>' + '<tr><td>' + data.allocated_hours[i] + '</td></tr>'
    dom.find(".user_data").innerHTML =

为什么行for keys, values of data在新的缩进级别上?新块的开头永远不应该在新的缩进级别上,而只能是其内容。

您的脚本也会突然以 innerHTML = 结尾,这是不正确的。


一旦我修复了上述错误,文件就编译了;-)当然,这并不能保证它也能做你想要的;-)我真的无法理解剧本,因此,似乎更像是半个剧本......