当视图被推送并弹出到视图堆栈上时,我希望能够在导航视图栏中隐藏和显示某些按钮。惭愧我无法从视图配置本身控制它(但我会在另一个时间保存那个呻吟)。
我想知道在导航视图上按下/弹出视图时我应该使用哪些事件。文档有时会撒谎,而且我多次被告知不太信任它,所以我不是!来吧Sencha,微软不会侥幸逃脱! 那么任何想法?当我尝试打印视图的所有事件时,我的行为非常不可靠:
我发现了什么: 当我推送一个视图时,我得到了:
initialize
hide
show
当我弹出一个视图时,我得到了:
hide
show
翻转是怎么回事?!?
显示正在发生的事件的代码:
control: {
myViewRef: {
initialize: function() { console.log("initialize") },
activated: function() { console.log("activated") },
deactivated: function() { console.log("deactivated") },
painted: function() { console.log("painted") },
show: function() { console.log("show") },
hide: function() { console.log("hide") }
},
}
实际推送/弹出视图的代码:
onInBoxListViewItemTap: function(scope, index, item, record) {
console.log("onInBoxListViewItemTap");
var detailsView = this.getEnquiryDetailsViewRef();
// push view
var navview = this.getMyInboxViewRef();
navview.push(detailsView);
}
这些东西实际上是否正常工作,即推送和弹出视图时是否有保证会触发的具体事件?
答案 0 :(得分:0)
首先 - 你的代码中有一个拼写错误。您需要引用activate
和deactivate
而不是activate_d
和deactivate_d
。
其次,我会尝试订阅导航视图的push
和pop
事件,看看它是否能满足您的需求。
答案 1 :(得分:0)
我有同样的问题。我使用绘制的处理程序来解决它。 您无法在控制器中处理“绘制”事件 the painted event description