问题标签 [ember-octane]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
34 浏览

ember.js - 在 Ember.js Octane 中具有多个属性的查找

我有一条带有 RSVP 的路由,它加载了几个模型(包含项目、治疗、价格的类别),这些模型以 JsON API 格式返回并希望在表格中显示它们:

项目名 治疗名称 1 治疗名称 N
第一类
第 1 类中的第 1 项 治疗 1 的类别 1 中的价格项目 1 设置价格
第 1 类中的第 2 项 设置价格 治疗 N 的第 1 类中的第 2 项价格
第 2 类
类别 2 中的项目 1 治疗 1 的类别 2 中的价格项目 1 治疗 N 的类别 2 中的价格项目 1

Setup Price仅在没有找到任何价格时显示,因此用户可以为该处理中的项目设置价格

我已经可以迭代类别、项目和治疗;但仍然不知道如何配置才能显示正确的价格。

如何通过 2 个属性找到正确的价格?我尝试find-by在模板中使用助手:

,但它似乎只支持 1 个属性。

好吧,如果在 SQL 中它会是这样的:

但我希望它在已经加载的价格模型中搜索...

有什么帮助吗?谢谢你...

0 投票
1 回答
27 浏览

ember.js - EmberJS Octane 观察者的语法无效

我正在尝试将 Ember 观察者与 EmberJS Octane 最新版本(4.1.0)一起使用,但它似乎不起作用。

这是我想要实现的目标:

=> 语法无效。

我也试过:

=> 观察者确实被调用,但this未定义。

我也试过:

=> 但是这个不调用任何方法(即使使用内联方法定义)。

最后,我最后一次尝试是使用@computed属性来weekPosts代替monthPosts,就像这样:

=> 但它总是返回 a Promise,所以我不能.reduce从 a 使用的计算属性调用它Component

ArrayProxy.extend(PromiseProxyMixin)使用计算属性返回的值,我终于得到了一些非常丑陋的东西weekPosts,但我绝对不满意,原因如下:

  1. 这么简单的事情有这么多代码
  2. 使用 的所有东西(组件、模板)weekPosts都必须确保在使用它之前实现承诺
  3. 承诺是服务的实现细节,不应该以任何方式可见

谢谢 !

0 投票
1 回答
16 浏览

ember.js - 在 ember 应用程序中嵌入 monaco 编辑器时出现运行时错误

我正在尝试在我的 ember 应用程序中使用monaco-editor
,为此 我正在使用 ember-monaco
我按照说明添加application.hbs了以下代码:

我正在运行应用程序,但没有出现编辑器,我收到以下运行时错误:

我删除了操作

现在编辑器出现但没有示例代码(因为我删除了相关行),
正确的语法是什么?
灰烬版本:

在此处输入图像描述

0 投票
1 回答
14 浏览

ember.js - Ember 中 LinkTo 组件中的动态模型

我正在使用 Ember 3.18,我面临以下问题。考虑以下路线:

现在,在我的 hbs 文件中,我正在尝试使用单个 LinkTo 转换到上述路由。如您所见,只有第二条路线需要模型属性。简单来说,我想以下 2 合并为一行。

如您所见,我要求模型属性在某些情况下消失并在某些情况下可用。

请帮忙。

0 投票
1 回答
18 浏览

ember.js - 如何用新的本地设置器返回新值的设置器替换`@computed`?

问题

我经常使用这种计算属性,其中 setter 只返回新值:

这做了几件事:

  1. 将初始值设置为args.myValue
  2. 允许更改值(通常通过<Input @value={{this.myValue}} />
  3. args.myValue更改时恢复默认值

return问题来自没有任何价值的本地设置器。

请注意,我可能会找到一个“hackish”解决方案,但我希望拥有遵循新 EmberJS 约定的代码,以避免以后痛苦的更新。

我尝试过的事情

手动缓存

这不起作用,因为_myValue总是在第一个之后设置myValue=(newValue)。为了使其工作,应该有某种观察者将其重置为null更改args.myValue

可悲的是,观察者不再是带有原生类的 EmberJS 的一部分

{{unbound}}帮手

正如预期的那样,它不起作用,因为它只是不更新myValue​​。

{{unbound}}帮手结合event.target.value搬运

但是更改Input时仍然没有更新args.myValue

初始代码

这是一个更具体的使用示例:

零件

控制器

queriedProjects控制器中设置 时,组件将显示它们。

当单击这些搜索结果之一时,控制器会更新setEntryProject被调用的。