gpt4 book ai didi

ember.js - 是否应该在模型或 Controller 中声明计算属性?

转载 作者:行者123 更新时间:2023-12-04 19:10:11 25 4
gpt4 key购买 nike

具有以下用户模型:

Sks.User = DS.Model.extend
firstName: DS.attr("string")
lastName: DS.attr("string")

应该在哪里声明“fullName”计算属性?
  fullName: Ember.computed(->
firstName = @get("firstName")
lastName = @get("lastName")
firstName = "" if firstName is `undefined`
lastName = "" if lastName is `undefined`
lastName + " " + firstName
).property("firstName", "lastName")

它应该在“UsersController”中还是直接在模型中? Ember 文档说只在 session 中使用的字段应该写在 Controller 中。但问题是我无法访问索引模板中的“fullName”:
Sks.IndexController = Ember.Controller.extend
needs: ['users']

此处,“fullName”不可访问(在 Controller 中声明)
{{#each user in controllers.users}}
<li>{{user.fullName}}</li>
{{/each}}

但它是在模型中的时候。

最佳答案

在这种情况下,我认为模型是计算属性的正确位置,因为只有拥有 firstname 和 lastname 属性才有意义。

您仍然可以在有意义的时候将计算属性放在 Controller 上,但我想像“fullName”这样的属性可以在应用程序中的多个地方使用(并且在 Controller 中使用它会迫使您在不同的地方重复工作)应用程序的一部分)

关于ember.js - 是否应该在模型或 Controller 中声明计算属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15659761/

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