问题标签 [ember-components]

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

javascript - 在 Ember 2.2 中将动作从子组件发送到父组件

嗨,我正在尝试将子组件中的操作发送回父组件,以便它可以访问 this.store 并执行数据库操作。基本布局是这样的:

app/templates/item/index.hbs -> 使用组件循环项目

应用程序/模板/组件/item-listing.hbs

在 app/components/item-listing.js 中,我必须定义一个动作,否则我得到一个动作未定义错误。从这里 this.store 是未定义的,所以我试图让动作冒泡。

从这里我迷路了。我已经尝试对以下所有内容采取行动:

/app/routes/item/index.js /app/routes/item.js

但它似乎永远无法通过 sendAction 调用。我究竟做错了什么?

0 投票
1 回答
239 浏览

ember.js - 覆盖 LinkComponent EmberJs 1.13.15

我使用 EmberJs 1.13.15 和 Ember-CLI ,我试图通过添加以下代码来稍微修改主要的 LinkComponent 行为:

应用程序/组件/导航链接到.js:

应用程序/模板/组件/导航链接到.hbs:

我在以下位置使用此组件:

应用程序/模板/导航栏.hbs:

但是每当我在浏览器中打开导航栏模板时,什么都没有显示,并且在 ember 检查器的控制台中显示以下错误

未捕获的类型错误:无法读取未定义的属性“切片”

有什么帮助吗?

提前致谢。

0 投票
1 回答
2988 浏览

javascript - 更改路由时将 Ember 控制器属性设置为 false

我有一个音乐组件播放从我网站的音乐页面内的 SoundCloud API 检索到的收藏歌曲。

问题是,一旦我播放歌曲并更改网站的页面(路线),歌曲就会继续播放,要解决这个问题,我需要在 isPlaying false更改route页面的音乐时进行设置。

我看到有不同的方法可以实现它,但我无法为我的情况弄清楚

米尝试

从不同的控制器

或从不同的路线

在我无法设置的两个功能中isPlaying false,我也看到提到了willTransition路由动作,我该如何使用它?有没有更好的方法呢?如有必要,我可以制作一个旋转余烬以更好地重现场景

0 投票
1 回答
77 浏览

jquery - Ember 元素/组件删除行为异常[提供旋转]

基本上我试图将可视化添加到删除操作中。

我使用的代码是:

因此触发了 removeRecord 操作,并从WrappedRecords中删除了一条记录

现在在我的淡入淡出元素组件包装器中。willDestroyElement我在钩子中捕获组件破坏。

但是当我更换它时它不起作用:

clone.insertAfter(this.$());clone.insertAfter(this.$().parent());

它确实有效,但随后出现了一个新问题。例如:

我有 2 个项目,我尝试删除第一个它看起来像这样

X1(删除) X2(第二个元素) X1(附加到父元素的克隆)

链接到现场演示

https://ember-twiddle.com/ef8c4bcdcd8d2eb5b5c4?openFiles=fade-element.component.js%2Cfade-element.template.hbs

0 投票
1 回答
55 浏览

ember.js - 在列表中使用 Ember 组件

我在数组中使用 Ember 组件(例如:按钮):

并且,在按钮上的组件操作是 pressButton(eg):

但是,当员工列表被渲染时(例如):

爱丽丝 |推广| 标记 |推广| 特斯拉 |推广|

我点击按钮来提升员工(比如员工 Mark),冒泡的 emp_id 是 Alice(总是列表中的第一个员工)(而不是 Mark),你能告诉我我要去哪里吗这里错了吗?

0 投票
1 回答
65 浏览

javascript - Ember.js 应该把什么做成组件?

基本上,如果给你一个包含各种 UI 模式/元素的网页设计,有些是交互的,有些只是静态的,你将如何决定应该将哪些内容制作成组件,哪些内容可以保留为 html?

这更像是一个哲学问题,超越了 Ember.js;我把它包括在内是因为这就是我现在正在学习/使用的东西。

有一些模式显然应该作为组件实现,例如选项卡切换器或过滤器,我天真的推理是它们具有交互并且在页面上多次使用。但我能走多远呢?这些理由中的每一个是否足以证明一个组件的合理性,或者它们只是必要的,还是两者都不是?是否应该仅仅因为页面上有很多按钮就制作一个按钮组件?即使我知道页面上只会有一个滑块,我是否应该制作一个滑块组件?

有什么好的经验法则可以决定是否将某些东西作为一个组件来实现?我可以设想为每一件事创建组件,以便整个页面只是组件中的组件。确定是不是太远了?特别是考虑到 Ember 的每个组件都有实例化成本和生命周期,在决定什么应该是组件时还需要考虑性能方面吗?

我很想听听大家的观点。谢谢。

0 投票
1 回答
57 浏览

ember.js - 经过作为 Ember 组件调用参数的值

我对 EmberJS 很陌生,并尝试使用通过用户输入动态设置的参数调用组件:

您知道在 Ember 中执行此操作的正确方法是什么吗?

0 投票
1 回答
444 浏览

ember.js - 编译时出现 broccoli 错误

我运行 ember 并得到以下信息:

我手工创建了这些文件,我没有使用 ember g。这是我的组件的 hbs 和 js 文件:

hbs 文件:

.js 文件:

两者都在 ../templates/components 目录中。

知道我做错了什么吗?这个组件是保留名称还是什么?我迷路了!

0 投票
1 回答
164 浏览

ember.js - 余烬。组件之间的通信。面包屑

我在一个组件中实现了一个自定义函数,该函数从 URL 获取信息并返回一个数组,其中包含正确的名称和链接,以便充当面包屑。问题是该过程的最后一步,应用程序必须在完全不同的 URL 中转换到不同的路由/模型。

如何在最终模板中显示面包屑(在不同的路线中)?

0 投票
1 回答
1293 浏览

ember.js - 将模板 html 作为属性传递给 Ember 组件

现在我有一个 Ember 组件,它为模式弹出窗口生成标记。我想将一些 HTML 传递给将分配给模态内容正文的组件(以组件属性的形式)。像这样的东西是理想的:

路由模板:app/templates/section1.hbs

模态模板:app/components/my-modal/template.hbs

我想在模式正文中显示的内容是静态的并且特定于当前模板。

如果可能的话,我不想myContent在控制器或路由的模型挂钩中设置这个 html。

更新:此外,我也不想使用Block参数/语法,因为我有太多的 HTML 需要在块之间移动,这会中断主模板标记的流程。

理想情况下,我可以在路由模板中设置这个 html。目前这是我的解决方法,需要在didInsertElement.

有没有更好的方法来实现这一点,比如将本地手把模板变量设置为一些 html(在 app/templates/section1.hbs 内)?

当前解决方案/解决方法:

路由模板:app/templates/section1.hbs

组件 JS:app/components/my-modal/component.js

模态模板:app/components/my-modal/template.hbs