Ember JS从日期选择器中选择日期时,更改按钮组件的颜色和标题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ember JS从日期选择器中选择日期时,更改按钮组件的颜色和标题相关的知识,希望对你有一定的参考价值。

我有一个网络应用程序,其中有两个组件 - 日期选择器和按钮。

当我从日期选择器中选择日期时,按钮的标题和颜色应该会改变。

这是我的hbs代码,其中给出了两个组件:

{{bootstrap-datepicker value=expiresAt todayHighlight=true todayBtn=true startDate=startDate changeDate="changeDateAction" autoclose=true}}
{{button-custom title="Previous Date" startDate=startDate status=1 id="button1"}}

按钮自定义由我创建。

当我选择日期时,将调用名为changeDateAction()的datepicker中的函数。我在按钮组件的控制器中有一个函数,名为changeValues(),在调用它时将执行我的任务。

如何从另一个文件中的changeDateAction()调用changeValues()(在button-custom.js中)?

请尽可能简单,因为我是Ember JS的初学者。提前致谢。

答案

看起来你想通知一个组件(button-custom)关于兄弟组件(bootstrap-datepicker)的变化。您已经设置了一个动作处理程序(changeDateAction),它通知父组件/控制器有关更改的信息。为了将这个变化传播到button-custom,我建议你只想传递你想达到的效果:

{{bootstrap-datepicker changeDate="changeDateAction" (...)}}
{{button-custom title=title color=color (...)}}

像这样,您可以通过修改titlecolor从外部控制按钮的外观。像那样,逻辑被移动到父组件/控制器,按钮组件变成“哑”表示组件。

这背后的基本概念叫做“Data down,Actions up”(DDAU),我强烈建议你阅读它(例如here,如果你正在学习Ember!

以上是关于Ember JS从日期选择器中选择日期时,更改按钮组件的颜色和标题的主要内容,如果未能解决你的问题,请参考以下文章

使用Swift语言自动在日期选择器中选择日期

在日期选择器中选择日期后如何打开时间选择器

在日期选择器中选择日期之前触发功能

在日期选择器中选择日期时,它不应接受等于年龄大于 20 岁的生日

两个月,同时在引导程序的日期选择器中选择日期

不能在另一个日期选择器中更改日期选择器参数?