gpt4 book ai didi

javascript - EmberJS : How to find which controller is used to drive . hbs View ?

转载 作者:行者123 更新时间:2023-11-30 20:49:27 25 4
gpt4 key购买 nike

我继承了一个代码库,并试图弄清楚什么是什么。在 emberjs 应用程序中,我如何知道哪个 Controller (js) 对应于特定页面上的 View (hbs)。有设定吗?有约定吗?

最佳答案

约定是它们的名称(或更准确地说是它们的路径)应该相同。

controllers/page.js 应该有一个 templates/page.hbs 和一个 routes/page.js

如果您使用 ember newember twiddle 创建一个新的 Ember 项目,您可以看到这个约定。 .

您还可以使用 templateName 在路由中指定模板名称属性(property)。

// routes/page.js
import Route from '@ember/routing/route';

export default Route.extend({
templateName: 'something/different'
});

Ember 还允许我们使用 renderTemplate在我们的 route Hook 并选择不同的模板和/或不同的 Controller 。

// routes/page.js
export default Route.extend({
renderTemplate(controller, model) {
// Render the `something/else` template
// and use the and `other/thing` controller
this.render('something/else', {
controller: this.controllerFor('other/thing')
});
}
});

Read more in "Ember JS Guides: Rendering a template"

Ember 过去也允许使用 partial 助手将模板嵌入到其他模板中。

您使用的是哪个 Ember 版本非常重要,因为这会将您的关注点限制在特定的 API 行为上,因为 Ember 这些年来确实发生了很大变化。

关于javascript - EmberJS : How to find which controller is used to drive . hbs View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48347244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com