3

我正在使用 ember js 构建一个带有 rails 作为后端的应用程序(我正在使用 ember-rails gem),并且我正在努力使用正确的方法来命名我的车把模板。什么是正确的约定?例如:

/user_profiles/4/我想我应该把我的模板放在正确的路线user_profiles/show.hbs上?或者应该是userProfile/show.hbs

对于一个简单的模板也是如此,应该是user_menu.hbs还是userMenu.hbs(它们都为我工作)。但是,为了使用助手渲染它,我需要做:

{{render 'userMenu' }}

正确使用我的 App.UserMenuController

那么我应该在每个地方都使用 camelCase 还是snake_case ?或两者兼有(camelCase 用于文件夹,snake_case 用于文件名)

有人可以帮助我理解它,因为在 ember 指南中,大多数都是简单的名称,比如postscomments所以很难理解。

4

2 回答 2

5

我正在努力以正确的方式命名我的车把模板。什么是正确的约定?

大多数情况下,模板名称将与路由名称匹配。如果路由名称有 a .,则将其替换为 a并将路由名称/隐蔽为模板名称。有关更多示例,请参阅命名约定指南camelCaseunder_scored

我想对于路线 /user_profiles/4/ 我应该把我的模板放在 user_profiles/show.hbs 对吗?还是应该是 userProfile/show.hbs?

不知道你从哪里得到show.hbs。由于模板基于路由名称(而不是 url),因此无法分辨。假设您有这样的路线:

App.Router.map(function() {
  this.route('user_profile', { path: '/user_profiles/:user_profile_id' });
});

路由名称是“user_profile”,因此 Ember.js 将查找这些对象:

  • App.UserProfileRoute
  • App.UserProfileController
  • user_profile模板_

或者,您可以使用 路线名称userProfile,其他一切都将保持不变。

那么我应该在每个地方都使用 camelCase 还是snake_case ?或两者兼有(camelCase 用于文件夹,snake_case 用于文件名)

约定似乎camelCase适用于除模板路径(以及模板的文件夹名/文件名)之外的所有内容

于 2013-03-12T19:27:38.470 回答
0

从 Ember 2.x 开始,命名约定为:

  • 烤肉串
    • 文件名
    • 目录名称
    • html 标签/ember 组件
    • CSS 类
    • 网址
  • 骆驼香烟盒
    • JavaScript
    • JSON

http://ember-cli.com/user-guide/#naming-conventions

于 2016-03-04T00:42:24.380 回答