是否有可能从对象内部观察私有(强调的)属性? 我需要知道_view_layer何时被设置,以便我可以应用一些jQuery甚至处理程序。 不幸的是init()和render()确实很早,所以_view_layer是未定义的。 不幸的是,观察_view_layer似乎并不如此。 请告诉我我可以做什么。 基本上,如果有另一种可能的解决方案,我也很乐意看到
Is it possible to observe private (underscored ) properties from within the object itself? I need to know when _view_layer is getting set, so that I can apply some jQuery even handlers. Unfortunately init() and render() are really early, so _view_layer is undefined. Unfortunately, observing _view_layer doesn't seem to work as well. Please, tell me what I can do. Basically, if there is another possible solution, I am open to see that as well
最满意答案
在Sproutcore中,下划线只是该属性/方法是私有的约定 。 它其实不是私人的。
在Sproutcore中,视图有生命周期方法。 这可能是有趣的(取自SC 1.4.5代码):
didCreateLayer: render()方法用于生成新的HTML。 重写此方法以在创建视图后可能需要执行的DOM上执行任何其他设置。 例如,如果您需要监听事件。
在SC 1.6和更高版本中,视图发生了巨大变化,但我相信didCreateLayer仍然可以识别。
In Sproutcore the underscore is only a convention that the property/method is private. Its not actually private.
In Sproutcore, the views have life-cycle methods. This one might be of interest (taken from SC 1.4.5 code in view):
didCreateLayer: the render() method is used to generate new HTML. Override this method to perform any additional setup on the DOM you might need to do after creating the view. For example, if you need to listen for events.
Views have changed drastically in SC 1.6 and later, but I believe that didCreateLayer is still recognized.
更多推荐
发布评论