首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Emblem.js中子组件的数据向下绑定

Emblem.js中子组件的数据向下绑定
EN

Stack Overflow用户
提问于 2018-09-05 14:18:51
回答 2查看 81关注 0票数 1

环境,Ember w/ Emblem.js

在项目上工作,我试图使它模块化,根据用户的选择动态地拉出正确的表单布局(子组件)。

我遇到的问题是,我有一个子组件,它引用了父对象中的可变对象,我试图访问这些对象以进行读和写。

我认为我需要绑定数据,然后将mut操作推回到基于DDAU的父级。

JS

Parent.js

代码语言:javascript
复制
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

代码语言:javascript
复制
needs to contain a variable childInfoArray somewhere

我在网上发现,用hbs将数据从父窗体绑定到子窗体。

代码语言:javascript
复制
{{Child1 childInfoArray=infoArray}}

但我用的是Emblem.js而不是hbs

Emblem.js

Parent.emblem

代码语言:javascript
复制
if isVisibleChild1
    = Child1
    childInfoArray = infoArray

Child1.emblem我认识到infoArray很可能是childInfoArray

代码语言:javascript
复制
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中的一个对象。

任何帮助都会很棒!

有趣的边注,我有几个文本输入字段和日期时间选择器。

当将数据保存到数据库时,日期时间选择器将由父组件获取,但输入字段表示没有绑定到它们的对象。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-07 17:55:44

我想明白了,使用=我可以发送任何经典的车把通过徽标,解决方案比我想象的要简单得多

Child1.js

代码语言:javascript
复制
export default Ember.Component.extend({
    infoArray:null,
}

Parent.emblem

代码语言:javascript
复制
if isVisibleChild1
    = Child1 infoArray=infoArray

Child1.emblem

代码语言:javascript
复制
select id="newInfo" onchange={action (mut infoArray) value="target.value"}

我可以用这种方式把一切都捆绑在一起

代码语言:javascript
复制
= Child1 infoArray=infoArray property2=property2 myFunction=myFunction
票数 0
EN

Stack Overflow用户

发布于 2018-09-07 07:55:37

这里的想法是,您没有访问infoArray在您的儿童1.徽标文件。将父infoArray绑定到childInfoArray上。所以有两个选择。

您将绑定键childInfoArray的名称更改为infoArray到Parent.emblem:

代码语言:javascript
复制
if isVisibleChild1
    = Child1
    infoArray = infoArray

使用适当的键进入儿童1.会徽:

代码语言:javascript
复制
select id="newInfo" onchange={action (mut childInfoArray) value="target.value"}

有帮助吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52187385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档