Ember.js 在视图中成为可见的钩子
有谁能告诉我如何在余烬视图中使用Ember.js 在视图中成为可见的钩子,ember.js,Ember.js,有谁能告诉我如何在余烬视图中使用becameVisiblehook吗?如果我用与didInsertElementhook相同的方式使用它,它似乎不会在我期望的时候触发 我有多个标签,其中一个包含谷歌地图。我需要在选择该选项卡后立即触发地图刷新 关于钩子的文档可以在页面的中间部分的Lifecycle钩子上找到 我在Ember 1.3.2上很好地回答了与视图上的becameVisible挂钩相关的标题。此挂钩仅在视图的isVisible属性更改时触发。默认情况下,视图上的isVisible属性设置为
becameVisible
hook吗?如果我用与didInsertElement
hook相同的方式使用它,它似乎不会在我期望的时候触发
我有多个标签,其中一个包含谷歌地图。我需要在选择该选项卡后立即触发地图刷新
关于钩子的文档可以在页面的中间部分的Lifecycle钩子上找到
我在Ember 1.3.2上很好地回答了与视图上的
becameVisible
挂钩相关的标题。此挂钩仅在视图的isVisible
属性更改时触发。默认情况下,视图上的isVisible
属性设置为true。因此,如果在视图上切换该属性,或将其设置为false,则视图将被隐藏,这将导致becameHidden
钩子在设置为true时启动becameVisible
钩子
因此,让我们假设在索引模板上,我们有一个指向视图的操作的链接和一个视图名称App.MyDiv
,我们将使用它来说明该视图上的钩子becameVisible/becameHidden:
<script type="text/x-handlebars" data-template-name="index">
<a href="#" {{action 'hide' target="view"}}>Hide that Div</a>
{{view App.MyDiv}}
</script>
现在在我们的App.MyDiv视图定义中:我们可以有如下内容:
App.MyDiv = Ember.View.extend({
viewName: 'hidemydiv',
templateName: 'myDiv',
didInsertElement: function() {
console.log('My Div: didInsertElement');
},
becameVisible: function() {
console.log('My Div: Became Visible');
},
becameHidden: function() {
console.log('My Div: Became Hidden');
}
});
下面是一个JSBin,用于显示在视图上切换isVisible
属性时发生的情况
关于你的问题,你可以在标签上有一个动作,按下它会在地图上调用某种重播动作 我找不到becameVisible钩子的任何文档,你能提供一个链接吗?@MartinElvar I添加了一个参考。可以在生命周期挂钩中找到它
App.MyDiv = Ember.View.extend({
viewName: 'hidemydiv',
templateName: 'myDiv',
didInsertElement: function() {
console.log('My Div: didInsertElement');
},
becameVisible: function() {
console.log('My Div: Became Visible');
},
becameHidden: function() {
console.log('My Div: Became Hidden');
}
});