Ember.js中LinkTo组件点击无响应问题求助
问题修复方案
核心错误点
你在LinkTo组件中错误地给@model参数包裹了双花括号,这违反了Ember模板的参数传递规则,导致路由解析时出现上下文计算错误。
具体修复步骤
- 修正LinkTo组件代码
将原代码中的@model="{{asset.id}}"改为@model={{asset.id}},正确写法如下:
<td><LinkTo @route="assets.asset" @model={{asset.id}}>{{asset.id}}</LinkTo></td>
在Ember的Glimmer模板中,组件参数直接引用变量即可,不需要额外的双花括号包裹,多余的括号会把参数解析成字符串字面量而非变量值,导致路由无法识别正确的模型ID。
验证路由与数据逻辑
你的嵌套路由定义assets.asset(对应路径/assets/:id)、assets路由的findAll、asset路由的findRecord逻辑都是正确的。修复参数后,确认asset.id是有效的字符串/数值类型,能被store正确查询。消除控制台报错
Error while computing: arguments和Error while computing: caller是参数传递错误引发的连锁报错,修正LinkTo的参数写法后,这类计算上下文错误会自动消失。
额外检查项
- 确认
assets路由返回的模型列表中,每个asset对象都存在合法的id属性 - 点击链接后查看浏览器网络面板,确认是否有请求对应
asset数据的接口调用
内容的提问来源于stack exchange,提问作者Andrea Campolonghi
相关产品推荐
相关产品推荐

