我正在尝试为Ember构建一个小扩展,它可以通过辅助函数设置,如computed/observer/on
。据我所知,这个辅助函数只是为函数对象添加了属性:
https://github.com/emberjs/ember.js/blob/2fefde66fd7a06bf1f0121c1e1bcdbb6ddbe455e/packages/ember-metal/lib/events.js#L304-L309
问题是如何在mixin
初始化时找到该属性。 mixin prototype looks pretty complicated中的相关逻辑,我无法理解他们究竟是如何检索属性并检查__ember_listens/observes__
是否设置为使用正确的属性进行操作。
通过对象的属性枚举一些简单(有效)的方法吗?