gpt4 book ai didi

javascript - 模型属性段和注释是否应该在模型层中?

转载 作者:行者123 更新时间:2023-12-03 13:38:43 26 4
gpt4 key购买 nike

我正在使用 Sproutcore 和 Rails,想知道将属性段和注释等字符串放在哪里。

在模型层中,我有一些模型类,例如。

SC.User = SC.Record.extend({

firstName: '',

})

我是否应该将属性段和注释放在模型类中:
SC.User = SC.Record.extend({

firstName: '',
firstNameSlug: 'First name',
firstNameComment: 'Enter your first name',

})

或者这些应该在与模型分离的 View 中?

在模型类中包含 的好处是我现在可以拥有一个通用 View ,它可以迭代所有模型属性并自动显示它们。

你怎么看?

最佳答案

Sproutcore 基于模型- View - Controller 范式,而且它使用了一个相当保守的严格版本的 mvc。您的模型应该只包含某个域对象的真实值。因此,您不应将注释和占位符字符串放在模型对象中。

而是使用您的 Controller 绑定(bind)到您的模型对象以及您想要从 View 中分离的所有其他属性。典型的 Controller 设置可能如下所示

YourApp.userController = SC.ObjectController.extends({
user: SC.User.create({ ... }), // Create a new user or load one from the store
firstNamePlaceholder: 'First name',
firstNameComment: 'Enter your first name',
...
});

将 Controller 内的附加属性组合在 Controller 内定义的一个或多个对象中以进行一些分组可能是有意义的,例如
YourApp.userController = SC.ObjectController.extends({
user: SC.User.create(),
placeholder: SC.Object.create({
firstName: 'First name',
lastName: 'Last name',
}),
comment: SC.Object.create({
firstName: 'Enter your first name',
lastName: 'Enter your last name'
})
});

这可能会在您以后的 View 中产生更清晰的结构。

简而言之,将模型对象视为没有类参数的传统域对象,仅使用(可能)对域对象的每个实例唯一的参数。其他所有内容都进入您的 Controller 层。确保您的 View 尽可能保持转储,并且仅包含与所有必需的应用程序状态的绑定(bind)。

关于javascript - 模型属性段和注释是否应该在模型层中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5178895/

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