问题标签 [ember.js-2]

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 回答
562 浏览

ember.js - Ember 将回调传递给服务 - 未定义 this

我有一项服务可以分块上传许多大文件

我需要一堆回调来显示进度,但问题是this在这些回调中未定义

为了解决这个问题,我必须到处引用这个。

它有效,但感觉非常错误。在 Ember 中执行此操作的最佳做​​法是什么?Observable 属性也感觉不对,怎么观察 2000 个文件的进度?将所有内容放在一个大对象中并在整个应用程序中共享?

0 投票
1 回答
196 浏览

ember.js - 升级到 2.12 后 ember-app 空白

我正在尝试从 Ember 1.13 到 Ember 2.12 的应用程序。

我升级了 ember-cli 和所有这些。我完成了本指南中的步骤,最重要的是

然后解决出现的差异。

结果是我有一个空白页。大多数资源都已加载。application.hbs包含“Hello World”,但这没有显示。路由器定义了根路由。

当我导航到根目录时,Chrome 会下载常用的 JS 文件

新的index.html似乎需要www.js, 和www.css,但这些不是用 . 生成的ember init。在网上搜索“ember www.js”并没有产生任何有用的信息。

现在,我处于以下状态:

  • 空白页
  • Chrome Web 开发者控制台中没有错误、警告或弃用
  • Ember 检查器未检测到 Ember 应用程序。

可能我在“ember init”步骤中遗漏了一些东西,但很难知道到底是什么。

如果没有错误消息,我将如何调试它?只是重新开始?

0 投票
2 回答
733 浏览

ember.js - 如何在 Ember 2.13.0 中检测和保存关系更改?

我有文件清单。每个文档都有由belongsTo定义的客户端属性。

当用户在其中一个文档中更改客户端时,我想在计数器中显示更改了多少文档。并且当用户决定他将按下“发布”按钮,这会将文档客户端更改保存到 api。

ember 2.13 中的 DS.Model 具有参数(https://emberjs.com/api/data/classes/DS.Model.html):

hasDirtyAttributes,dirtyType

它们都不会对Ember设计的belongsTo/HasMany更改做出反应。我看到了很多关于这个话题的答案,但是我在 2.13 文档中没有看到任何模型的isDirty()方法,也没有看到任何.send("becomeDirty")方法来手动将文档模型设置为脏状态?我还看到了一些旧版 Ember 的插件/mixin。

但我的问题是,Ember 创作者如何“建议/建议/最佳实践”来处理这个问题。是否有一些不需要任何第三方插件的基本方式/手动解决方案?就像对模型中的每个关系使用 onchange 观察者一样?或者对于子相关模型使用 @each.dirtyType 的计算属性(或者甚至设置子项本身不会被标记为脏?)?

Ember 2.13 中的沙盒解决方案是什么?

0 投票
1 回答
177 浏览

ember.js - 如何在 Ember 查询中不丢失 hasMany 更改?

在我的应用程序中,我使用查询搜索文档。然后我在单个文档中编辑一个属性,然后再次调用搜索查询。

结果没问题,我看到文档仍处于脏状态,属性已更改。

然后我再次选择一个文档并编辑它的hasMany关系(从 2 个项目到 4 个项目)。然后我再次调用搜索查询。结果不正常,hasMany 关系更改丢失/处置/回滚。

有没有办法让 Ember 查询(我猜这是一些 Ember 内部重新加载)不回滚未保存的关系更改?

我正在使用 Ember 2.9.1

现在我除了禁止任何可能再次调用查询的过滤器查询操作或路由操作之外别无他法,因为这会导致用户设置的数据丢失。

0 投票
2 回答
62 浏览

javascript - Ember 模型未使用链接到动态绑定

我创建了一个 ember 演示,一个父视图,它是子视图,这是父视图

它的 js 登录是 import Ember from 'ember';

但是当我使用链接并导航时,除非我刷新页面,否则数据不会显示这是子视图

及其js逻辑

我正在使用 ember 2.5,这是路由器的一部分

0 投票
0 回答
213 浏览

javascript - Ember父子组件,如何避免触发不必要的生命周期钩子?

子组件属性更新正在触发所有父组件willUpdate、、willRender和生命周期钩子方法。但我只是更新了仅子组件可见的属性,它与父组件无关。didUpdatedidRender

扭来扭去检查。
使用 powerselect 进行检查- 当鼠标悬停在下拉选项上时,它会触发其所有父组件willUpdate、、willRender和生命周期挂钩方法。didUpdatedidRender

有什么办法可以避免这种行为?[我试过有/没有this._super(...arguments)]

PS:原因是,我在didRender父组件的钩子中做了一些繁重的操作,我不想不必要地运行它。(我能想到的一个解决方案是单独手动检查特定属性是否由我自己更改,并根据条件运行繁重的操作)。

0 投票
1 回答
134 浏览

javascript - Ember.js 2. 嵌套路由但非嵌套模板

首先,感谢大家为本论坛所做的努力。

我有这种情况:

  • mysite.com/authors(作者列表)
  • mysite.com/author/1(作者 1)
  • mysite.com/book/1(作者 1 的书 1)
  • mysite.com/cart/1(作者 1 的书 1 的购物车页面)

我需要这样的网址:

mysite.com/author/1/1/cart

但我不想要嵌套模板(每个页面都是不同的,我不想在许多页面中使用相同的信息)。

有没有办法拥有那个网址?

我实际的router.js是这样的:

0 投票
1 回答
570 浏览

ember.js - Ember:编辑模型对象而不设置 isdirty

这个话题之前在 stackoverflow 上已经讨论过,但我认为不是最新版本的 ember 数据。至少我发现的任何建议都不适合我。

我使用最新版本的 Ember 和 Ember 数据(版本 2.13.0)。我使用 JsonApiAdapter。

设想

从服务器加载记录后,我想对其某些属性进行一些更改。这些更改不应使记录变脏,并且更改的属性不应显示在record.changedAttributes(). 此后用户可能进行的任何更改都会使记录变脏。

寻找解决方案

我试图手动更改 isDirty 标志,但它没有这样做。我还尝试在 ember 数据代码中找到在加载记录后设置状态的位置(因为本质上我正在尝试做同样的事情)但我还没有找到它在哪里。我也试过record.send('pushedData')了,但我没有改变记录的任何状态。

任何帮助表示赞赏。

0 投票
1 回答
30 浏览

ember.js-2 - 如何在 emberjs 中触发应用程序路由

我是 emberjs 的新手,并试图了解正在进行的 ember 代码库。我看到 application.js 路由器和控制器在我们的项目中默认执行,而没有在路由器文件的任何地方提及它。但是 ember cli 默认也不会生成 application.js 路由。

为什么会这样?应用程序路由和控制器的真正用途是什么?它是如何被执行的?请分享您的想法或任何有用的文档链接。

蒂亚

0 投票
1 回答
57 浏览

ember.js - 如何在 ember 中设置链接到组件的 id

我正在尝试向 Ember 2.4 中的元素添加 id 以促进自动化测试。但是,链接到的 elementId 似乎没有得到尊重,并且被忽略了。

有什么方法可以强制链接到组件的 id