我正在使用Ember.js构建原型SPA应用程序并快速完成工作我有(3)三个单独的javascript组件,即日历/待办事项列表,一个javascript时钟和另一个jquery类型插件。我希望所有这些能够在一起同步。
换句话说,当有人输入待办事项或日历条目时,它会随着时间为模拟表盘着色,然后用详细信息更新另一个插件。
当然,现在所有这些组件都不是为了彼此交谈而编写的。它们只是由不同开源开发人员编写的独立插件。
关于如何解决这个问题,我有两个问题。
1。)这样做是荒谬的,只要将每个组件分开,看看它们是如何工作的,然后从下往上编码,就可以在一起工作了。统一的方式。
评论:上述情况很好,但是非常耗费时间,并且无法快速完成某些工作以达到概念验证的目的。我基本上打算用postgres写一个Rails后端,用数据填充所有控件,并在玩游戏时更新。
2。)如果你可以按原样使用这些组件....建议使用黑盒子或将它们作为Ember组件包装,或者将它们分别变成组件,然后让Ember传递数据来回。
当然,这里的目标是让某些东西发挥作用并理解它是如何组合在一起的,然后从这些知识中,在Ember / ES6或其他框架中重写整个事物。
谢谢你们!
答案 0 :(得分:0)
你经常可以很容易地将一个jQuery插件包装在一个ember组件中。 如果在渲染组件时需要进行一些初始化,可以在'didInsertElement'钩子中进行初始化。 https://guides.emberjs.com/v2.14.0/components/the-component-lifecycle/#toc_integrating-with-third-party-libraries-with-code-didinsertelement-code
以下是我的应用程序中的示例组件: https://github.com/datafruits/datafruits/blob/master/app/components/datafruits-player.js#L102