问题标签 [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.
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 调用。我究竟做错了什么?
ember.js - 覆盖 LinkComponent EmberJs 1.13.15
我使用 EmberJs 1.13.15 和 Ember-CLI ,我试图通过添加以下代码来稍微修改主要的 LinkComponent 行为:
应用程序/组件/导航链接到.js:
应用程序/模板/组件/导航链接到.hbs:
我在以下位置使用此组件:
应用程序/模板/导航栏.hbs:
但是每当我在浏览器中打开导航栏模板时,什么都没有显示,并且在 ember 检查器的控制台中显示以下错误
未捕获的类型错误:无法读取未定义的属性“切片”
有什么帮助吗?
提前致谢。
javascript - 更改路由时将 Ember 控制器属性设置为 false
我有一个音乐组件播放从我网站的音乐页面内的 SoundCloud API 检索到的收藏歌曲。
问题是,一旦我播放歌曲并更改网站的页面(路线),歌曲就会继续播放,要解决这个问题,我需要在 isPlaying
false
更改route
页面的音乐时进行设置。
我看到有不同的方法可以实现它,但我无法为我的情况弄清楚
米尝试
从不同的控制器
或从不同的路线
在我无法设置的两个功能中isPlaying
false
,我也看到提到了willTransition
路由动作,我该如何使用它?有没有更好的方法呢?如有必要,我可以制作一个旋转余烬以更好地重现场景
jquery - Ember 元素/组件删除行为异常[提供旋转]
基本上我试图将可视化添加到删除操作中。
我使用的代码是:
因此触发了 removeRecord 操作,并从WrappedRecords中删除了一条记录
现在在我的淡入淡出元素组件包装器中。willDestroyElement
我在钩子中捕获组件破坏。
但是当我更换它时它不起作用:
clone.insertAfter(this.$());
和clone.insertAfter(this.$().parent());
它确实有效,但随后出现了一个新问题。例如:
我有 2 个项目,我尝试删除第一个它看起来像这样
X1(删除) X2(第二个元素) X1(附加到父元素的克隆)
链接到现场演示
ember.js - 在列表中使用 Ember 组件
我在数组中使用 Ember 组件(例如:按钮):
并且,在按钮上的组件操作是 pressButton(eg):
但是,当员工列表被渲染时(例如):
爱丽丝 |推广| 标记 |推广| 特斯拉 |推广|
我点击按钮来提升员工(比如员工 Mark),冒泡的 emp_id 是 Alice(总是列表中的第一个员工)(而不是 Mark),你能告诉我我要去哪里吗这里错了吗?
javascript - Ember.js 应该把什么做成组件?
基本上,如果给你一个包含各种 UI 模式/元素的网页设计,有些是交互的,有些只是静态的,你将如何决定应该将哪些内容制作成组件,哪些内容可以保留为 html?
这更像是一个哲学问题,超越了 Ember.js;我把它包括在内是因为这就是我现在正在学习/使用的东西。
有一些模式显然应该作为组件实现,例如选项卡切换器或过滤器,我天真的推理是它们具有交互并且在页面上多次使用。但我能走多远呢?这些理由中的每一个是否足以证明一个组件的合理性,或者它们只是必要的,还是两者都不是?是否应该仅仅因为页面上有很多按钮就制作一个按钮组件?即使我知道页面上只会有一个滑块,我是否应该制作一个滑块组件?
有什么好的经验法则可以决定是否将某些东西作为一个组件来实现?我可以设想为每一件事创建组件,以便整个页面只是组件中的组件。确定是不是太远了?特别是考虑到 Ember 的每个组件都有实例化成本和生命周期,在决定什么应该是组件时还需要考虑性能方面吗?
我很想听听大家的观点。谢谢。
ember.js - 经过作为 Ember 组件调用参数的值
我对 EmberJS 很陌生,并尝试使用通过用户输入动态设置的参数调用组件:
您知道在 Ember 中执行此操作的正确方法是什么吗?
ember.js - 编译时出现 broccoli 错误
我运行 ember 并得到以下信息:
我手工创建了这些文件,我没有使用 ember g。这是我的组件的 hbs 和 js 文件:
hbs 文件:
.js 文件:
两者都在 ../templates/components 目录中。
知道我做错了什么吗?这个组件是保留名称还是什么?我迷路了!
ember.js - 余烬。组件之间的通信。面包屑
我在一个组件中实现了一个自定义函数,该函数从 URL 获取信息并返回一个数组,其中包含正确的名称和链接,以便充当面包屑。问题是该过程的最后一步,应用程序必须在完全不同的 URL 中转换到不同的路由/模型。
如何在最终模板中显示面包屑(在不同的路线中)?
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