煎茶触摸2.0和navigation.View - MVC
我想切换视图的一个按钮,也绝对在煎茶文档中的一个MVC上下文中没有这样的例子,虽然他们建议开发者使用他们的MVC架构的构建。我猜是因为Touch 2.0相当新颖。煎茶触摸2.0和navigation.View - MVC
http://docs.sencha.com/touch/2-0/#!/api
一下就行分量视频也即将navigation.View,但由于该表成分时,他们没有说明如何切换视图的一个按钮。
这是代码我迄今为止:
uddannelser.js(初视图)
Ext.define("VUCFyn.view.uddannelser", {
extend: "Ext.navigation.View",
xtype: "uddannelser",
requires: [
"VUCFyn.view.avu"
],
config: {
title: "Uddannelser",
cls: "uddannelser",
items: [
{
title: "Uddannelser",
xtype: "container",
margin: 20,
layout: "vbox",
items: [
{
xtype: "button",
text: "AVU",
width: 100
}
]
}
]
}});
avu.js(uddannelser的子视图)
Ext.define("VUCFyn.view.avu", {
extend: "Ext.Panel",
xtype: "avu",
config: {
title: "AVU",
cls: "avu",
scrollable: true,
items: [
{
xtype: "label",
html: [
"<p>Almen Voksenuddannelse - avu - er et tilbud om uddannelse til alle over 18 år. Du kan tage avu-fagene et ad gangen eller i en kombination med flere fag. Du kan også kombinere avu-fagene med andre enkeltfag på FVU og/eller hf.</p>",
"<h5>AVU omfatter kernefagene:</h5>",
].join("")
}
]
}});
Main.js(控制器)
Ext.define('VUCFyn.controller.Main', {
extend: 'Ext.app.Controller',
config: {
refs: {
uddannelser: "uddannelser"
},
control: {
"uddannelser": {
tap: "showDetail"
}
}
},
showDetail: function() {
this.getUddannelser().push({
xtype: "avu"
});
},
init: function() {
}});
请,如果有人能告诉我如何做到这一点,根据上面的代码(或类似的),将是伟大的。
BTW:在这个线程的答案:Sencha Touch 2 MVC - how to switch views with button没有为我工作。 (虽然没有错误)我认为它适用于Sencha Touch 1.1,并且很多东西在2.0中已经发生了明显变化
嗨我想你只需要修复控制器,它会工作,请尝试以下并让我知道如何你继续。
config: {
refs: {
uddannelser: "uddannelser",
uddannelserButton: "uddanelser button"
},
control: {
"uddannelserButton": {
tap: "showDetail"
}
}
},
因此,所有我做的是在你的uddanelser视图中添加的按钮选择和连接点击收听到。祝你好运!
你想监听点击事件的navigationview
你给的uddannelser cls
?你的设置有几个问题。
首先,它并不像你所使用成分查询正确的控制器,检查上述文件:http://docs.sencha.com/touch/2.4/apidocs/#!/api/Ext.ComponentQuery
取决于你有多少这些组件的视图希望控制器来管理,你可以或者给它一个id并通过"#id"
搜索组件,或者您可以使用xtype
和一个配置选项,如"navigationview[cls=uddannelser]"
。
其次,如果您想倾听该组件上的点按事件,您不得不倾听上的点按事件并转播活动,您不能在navigationview
上收听点击活动。不过,我怀疑你实际上是试图在button
上试听点击事件,在这种情况下,在你的控制器中创建两个参考,一个用于navigationview
,另一个用于button
,在button
上监听点击事件并将面板打开像你现在这样的navigationview
。
查看Sencha Docs的这个简单的NavigationView示例.. http://docs.sencha.com/touch/2-0/#!/ guide/navigation_view(尽管不是MVC格式,这是你可能想要的) – 2012-04-27 10:16:01