环境,Ember w/ Emblem.js
在项目上工作,我试图使它模块化,根据用户的选择动态地拉出正确的表单布局(子组件)。
我遇到的问题是,我有一个子组件,它引用了父对象中的可变对象,我试图访问这些对象以进行读和写。
我认为我需要绑定数据,然后将mut操作推回到基于DDAU的父级。
JS
Parent.js
export default Ember.Component.extend({
store: Ember.inject.service(),
name: null,
infoArray: Ember.computed.map(....),
isVisibleChild1: false;
actions: {
picker() {
if(dropdown.value==1)
this.set('isVisibleChild1', true);
}
},儿童期1.js
needs to contain a variable childInfoArray somewhere我在网上发现,用hbs将数据从父窗体绑定到子窗体。
{{Child1 childInfoArray=infoArray}}但我用的是Emblem.js而不是hbs
Emblem.js
Parent.emblem
if isVisibleChild1
= Child1
childInfoArray = infoArrayChild1.emblem我认识到infoArray很可能是childInfoArray
select id="newInfo" onchange={action (mut infoArray) value="target.value"}
each optionsArray as |selectOption|
option selected={is-equal selectOption.key infoArray} value="#{selectOption.key}" = selectOption.value我不知道childInfoArray到底应该放在哪个地方,我也不太确定如何将它绑定到小孩1中的一个对象。
任何帮助都会很棒!
有趣的边注,我有几个文本输入字段和日期时间选择器。
当将数据保存到数据库时,日期时间选择器将由父组件获取,但输入字段表示没有绑定到它们的对象。
发布于 2018-09-07 17:55:44
我想明白了,使用=我可以发送任何经典的车把通过徽标,解决方案比我想象的要简单得多
Child1.js
export default Ember.Component.extend({
infoArray:null,
}Parent.emblem
if isVisibleChild1
= Child1 infoArray=infoArrayChild1.emblem
select id="newInfo" onchange={action (mut infoArray) value="target.value"}我可以用这种方式把一切都捆绑在一起
= Child1 infoArray=infoArray property2=property2 myFunction=myFunction发布于 2018-09-07 07:55:37
这里的想法是,您没有访问infoArray在您的儿童1.徽标文件。将父infoArray绑定到childInfoArray上。所以有两个选择。
或您将绑定键childInfoArray的名称更改为infoArray到Parent.emblem:
if isVisibleChild1
= Child1
infoArray = infoArray或使用适当的键进入儿童1.会徽:
select id="newInfo" onchange={action (mut childInfoArray) value="target.value"}有帮助吗?
https://stackoverflow.com/questions/52187385
复制相似问题