Ember.js 观察/检测余烬成分{{yield}}块的变化
组件是否有任何方法来监听或观察内容的变化 我有一个组件作为包装器,并且希望能够调用一些必要的清理同位素方法(例如.同位素('layout')),以防包装内容发生变化(例如通过过滤)Ember.js 观察/检测余烬成分{{yield}}块的变化,ember.js,jquery-isotope,Ember.js,Jquery Isotope,组件是否有任何方法来监听或观察内容的变化 我有一个组件作为包装器,并且希望能够调用一些必要的清理同位素方法(例如.同位素('layout')),以防包装内容发生变化(例如通过过滤) 通过观察控制器属性,我可以对视图执行类似的操作,但如果可能的话,我希望减少耦合。嗯,我不知道您想要做什么,也没有使用过同位素.js。但我可以告诉你。{{yield}帮助程序调用此函数: _yield: function(context, options, morph, blockArguments) {
通过观察控制器属性,我可以对视图执行类似的操作,但如果可能的话,我希望减少耦合。嗯,我不知道您想要做什么,也没有使用过同位素.js。但我可以告诉你。
{{yield}
帮助程序调用此函数:
_yield: function(context, options, morph, blockArguments) {
var view = options.data.view;
var parentView = this._parentView;
var template = get(this, 'template');
if (template) {
Ember.assert("A Component must have a parent view in order to yield.", parentView);
view.appendChild(Ember.View, {
isVirtual: true,
tagName: '',
template: template,
_blockArguments: blockArguments,
_contextView: parentView,
_morph: morph,
context: get(parentView, 'context'),
controller: get(parentView, 'controller')
//expose parent to children components?
});
}
}
这意味着理论上,您可以向子组件公开句柄,以设置父组件的属性。这显然将这两个部分结合起来。您还可以使子级和父级都将“包装内容”作为属性,以便您可以在这两个位置进行观察和操作。我用这两种方法都取得了巨大的成功。我所用的是由上下文决定的