gpt4 book ai didi

ember.js - Ember 从模型中的 Controller 获取属性

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

我在模型上有一个计算属性,为了计算我需要来自 Controller 的属性(不是控制模型的那个)。
我知道有 needs:但这只是在
Controller 级别。
如何从管理模型的 Controller 以外的 Controller 获取 Ember 中的属性?

我正在尝试像[问这个问题][1]的人那样进行一些格式化,但我没有成功那里的建议。
因此,我尝试使用计算属性对模型进行格式化,但要计算该属性,我需要来自 Controller 的另一个属性。

任何帮助是极大的赞赏!谢谢!

注意:我使用 EmberData 来管理模型。

编辑:
为了澄清我正在尝试做的事情,我设置了一个显示问题的示例
以一般方式:示例应用程序允许您输入数字,存储它们,
并将它们显示在列表中。您还可以输入一个“转换因子”,它不会改变模型数据本身,而是模板上的表示。假设您输入数字 2, 2 将保存在模型中,但是当它显示在列表中时,它会使用您之前输入的转换因子进行“格式化”,并且计算出的值显示在模板中。问题是我要格式化的值存储在不同的 Controller 上。这是我迄今为止尝试过的:

  • #1 方法:
    ArrayController 上的计算属性 - 使用 needs:在 Controller 中遍历并获取值
    --> jsfiddle
    我遇到的问题:
    ArrayController 似乎损坏了,并且模板呈现为好像根本没有存储的记录(注意:该示例使用本地存储,因此创建一些记录并取消注释 ArrayController 上的计算属性,您将看到它最初按预期工作,并且显示您输入的记录)。
  • #2 方法:
    模型本身的计算属性
    --> jsfiddle
    我遇到的问题:
    我不知道如何在进入模型时从 Controller 获取属性
  • #3 方法:
    Handlebars 助手和 needs:在 Controller 上
    1)在 Controller (处理模型)上定义一个计算属性以从另一个 Controller 获取有问题的值
    2) 创建一个handlebars helper 并传入模型中的值和 Controller 中的值并返回计算值
    --> jsfiddle(您可以在评论中找到第三个 jsfiddle 的链接,因为我还没有足够的声望点)。
    我遇到的问题:
    我没有显示格式化的数字,而是在渲染模板中的每个值上得到“NaN”。

  • 如果有人知道如何解决这个问题,或者可以为我指明正确的方向,那就太好了。非常感谢您的帮助!谢谢你的时间!

    最佳答案

    从模型访问任何 Controller 实际上与 Ember 的架构背道而驰。大多数格式化问题最好使用 Handlebars 助手来解决,但是如果您需要以一种非常认真的方式组合来自 Controller 和模型的数据,那么您可能需要 Controller 上的计算属性。

    你能举一个具体的例子来说明你想要做什么吗?这将使建议正确的解决方案变得更加容易。

    关于ember.js - Ember 从模型中的 Controller 获取属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16971390/

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