You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ractive框架动态修改表格行背景功能失效求助

解决Ractive表格行点击高亮的问题

问题分析

你的代码存在两处关键问题:

  1. 模板表达式的变量引用错误:在#each循环内部,引用外层上下文的testNumberSelected时,{testNumberSelected}的写法不符合Ractive模板语法,且未正确指定上下文层级。
  2. 点击事件的参数传递写法错误:on-click="testFunction:{testNumber: {{.testNumber}}}"中嵌套了{{}},会导致模板解析异常。

修正后的代码

模板部分

{{#each physicianList}}
    <tr on-click="testFunction:{testNumber: .testNumber}"
        style="background-color: {{.testNumber == ../testNumberSelected ? '#cce5ff' : 'inherit'}}">
        <td>{{.testNumber}}</td>                    
    </tr>
{{/each}}

事件处理函数(优化变量声明)

function testFunction(ev, cfg) {
    var rjs = this;
    var testNumber = cfg.testNumber; // 声明局部变量,避免污染全局作用域
    rjs.set('testNumberSelected', testNumber);
}

关键修正点说明

  • 上下文层级访问:在#each循环内部,当前上下文是physicianList的单个元素,要访问外层的testNumberSelected,需使用../testNumberSelected(向上一级上下文查找),或者@root.testNumberSelected(直接访问根上下文变量)。
  • 事件参数传递:Ractive事件绑定中,传递对象参数时直接使用上下文变量名即可,无需额外用{{}}包裹,{testNumber: .testNumber}就能正确传递当前行的testNumber属性。

内容的提问来源于stack exchange,提问作者caracol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 17:40:06