EmberJS "detail" 页面自动获取模型 - 这正常吗?
EmberJS "detail" page fetches the model automatically - is this normal?
好久reader - 第一次提问。
我正在使用 EmberJS 开发一个中型应用程序,这是我使用了一段时间的框架。
今天我发现它无需我编写任何代码即可从服务器获取模型数据。
我有一条名为 "students" 的主要路线。然后有一个 "list" 子路由,该路由的 model() 函数调用商店来获取所有学生并将他们列在 table.
上
在这个 table 的每一行上,我 link 到另一个名为 "detail" 的子路由,它接受每个学生的 ID 作为参数。然而,在这条路线的 route.js 文件中,没有 model() 函数从服务器查询有关特定学生的任何信息。
Ember 以某种方式自动执行此操作,因为我可以看到正在使用 chrome 开发工具发出适当的网络请求。
这是怎么回事,是否正常?
提前致谢。
如果 Ember 路由器检测到 dynamic segment 以 _id 结尾,它将自动加载模型。
Ember follows the convention of :model-name_id for two reasons. The first reason is that Routes know how to fetch the right model by default, if you follow the convention
您提到您的 api 路线是 /api/student/details/:student_id 我希望您的 ember 路线非常相似。
它检测到 _id,并在您导航到该路线时自动为您调用 store.find('student'、params.student_id)。
这是完全正常的,也是 Ember 鼓励您遵循惯例的方式之一 - 如果您这样做,则不必创建那么多样板文件。
如果你想避免第二次请求,可能因为list路由拉取了所有相关数据,你可以传递学生模型而不是学生id。
好久reader - 第一次提问。
我正在使用 EmberJS 开发一个中型应用程序,这是我使用了一段时间的框架。
今天我发现它无需我编写任何代码即可从服务器获取模型数据。
我有一条名为 "students" 的主要路线。然后有一个 "list" 子路由,该路由的 model() 函数调用商店来获取所有学生并将他们列在 table.
上在这个 table 的每一行上,我 link 到另一个名为 "detail" 的子路由,它接受每个学生的 ID 作为参数。然而,在这条路线的 route.js 文件中,没有 model() 函数从服务器查询有关特定学生的任何信息。
Ember 以某种方式自动执行此操作,因为我可以看到正在使用 chrome 开发工具发出适当的网络请求。
这是怎么回事,是否正常?
提前致谢。
如果 Ember 路由器检测到 dynamic segment 以 _id 结尾,它将自动加载模型。
Ember follows the convention of :model-name_id for two reasons. The first reason is that Routes know how to fetch the right model by default, if you follow the convention
您提到您的 api 路线是 /api/student/details/:student_id 我希望您的 ember 路线非常相似。
它检测到 _id,并在您导航到该路线时自动为您调用 store.find('student'、params.student_id)。
这是完全正常的,也是 Ember 鼓励您遵循惯例的方式之一 - 如果您这样做,则不必创建那么多样板文件。
如果你想避免第二次请求,可能因为list路由拉取了所有相关数据,你可以传递学生模型而不是学生id。