Javascript 指向帮助程序的链接存在问题
我正在制作一份简单的餐厅菜单,我有一个这样的代码,很好用:Javascript 指向帮助程序的链接存在问题,javascript,ember.js,Javascript,Ember.js,我正在制作一份简单的餐厅菜单,我有一个这样的代码,很好用: <script type="text/x-handlebars" data-template-name="application"> <h1> Categories </h1> {{#each}} {{#link-to "dish" this.id}} {{name}} {{/link-to}} </br> {{/e
<script type="text/x-handlebars" data-template-name="application">
<h1> Categories </h1>
{{#each}}
{{#link-to "dish" this.id}} {{name}} {{/link-to}}
</br>
{{/each}}
{{outlet}}
</script>
类别
{{{#各}
{{{#链接到“dish”this.id}{{{name}{{{/link to}}
{{/每个}}
{{outlet}}
它可以工作,但我仍然不明白为什么要将this.id
传递到链接的参数。首先,我刚刚将这个
传递给了帮助程序,但它不起作用(为什么?),只有经过一段时间的调试,我才使它与这个.id
一起工作
所以问题是,为什么它与this.id
一起工作,而与this
不工作?到目前为止,我看到的所有示例都使用了this
,那么使用this.id
是一种好方法吗?请解释
这是它与this.id
一起工作的完整代码,因为{{link to}}
帮助程序可以执行以下操作:
- 路由的名称。在这种情况下,它将是
“dish”
- 每个动态段最多一个模型
- 将绑定到
a
title属性的可选标题
当您将模型传递给路由时,它不会从远程服务器获取模型数据,而是按“原样”传递给控制器
如果将id传递给帮助器,它将确保以id作为参数运行路由的模型挂钩,从而检索模型的数据
发生的情况是,在您的代码中,您传递的是这个
,它是一个类别
模型。DishRoute
适用于Dish
型号,因此它根本不起作用
如果您传递this.id
,它会起作用,因为它是一个整数,并且Ember将获取一个Dish
,该盘恰好具有与Category
实例设置为相同的id
如果有疑问,请阅读官方文档()它与this.id
一起工作,因为{{link to}}
帮助程序可以执行以下操作:
- 路由的名称。在这种情况下,它将是
“dish”
- 每个动态段最多一个模型
- 将绑定到
a
title属性的可选标题
当您将模型传递给路由时,它不会从远程服务器获取模型数据,而是按“原样”传递给控制器
如果将id传递给帮助器,它将确保以id作为参数运行路由的模型挂钩,从而检索模型的数据
发生的情况是,在您的代码中,您传递的是这个
,它是一个类别
模型。DishRoute
适用于Dish
型号,因此它根本不起作用
如果您传递this.id
,它会起作用,因为它是一个整数,并且Ember将获取一个Dish
,该盘恰好具有与Category
实例设置为相同的id
如果有疑问,请阅读官方文档()查看您的代码,我看到您正在迭代类别集合,然后将此
传递给{{link to}
帮助程序。那不应该起作用DishRoute
需要一个Dish
模型,您正在传递一个类别
模型。查看您的代码,我看到您正在迭代类别集合,然后将此
传递给{link to}
帮助程序。那不应该起作用DishRoute
需要一个Dish
模型,您正在传递一个类别
模型。