我想知道,在某种事件中,你如何导入dom说一个组件。即如果您有一个带有电子邮件和密码的表单,并对表单进行验证,您如何进入电子邮件div输入{{error-component message = message}},其中的消息将是“Not a valid email”,并进入密码div(或td)输入相同的组件,使用不同的消息。
解释算法:
的onSubmit(){ validateForm: 如果电子邮件无效{importComponent('#emailDiv',“电子邮件无效”)} 如果密码无效{importComponent('#passDiv',“密码没有足够的字符”)} }
答案 0 :(得分:1)
为什么不设置告诉模板是否呈现错误的属性?
在控制器或组件中:
emailErrors: [],
actions: {
onSubmit: function() {
if (/* email not valid */) {
this.get('emailErrors').addObject('Email not valid');
}
}
}
在模板中:
{{input value=email}}
{{#each error in emailErrors}}
{{error}}
{{/each}}
这应该被制作成更好的封装和更少重复的组件,但你明白了。我认为,以编程方式插入组件不是Ember Way。