我正在尝试使用miamicode创建相同的应用程序,我在第3步 http://miamicoder.com/2012/how-to-create-a-sencha-touch-2-app-part-3/
我尝试将按钮转到新音符(切换到新屏幕并创建新音符)
示例中的代码是:
onNewNoteCommand: function () {
console.log("onNewNoteCommand");
var now = new Date();
var noteId = (now.getTime()).toString() + (this.getRandomInt(0, 100)).toString();
var newNote = Ext.create("NotesApp.model.Note", {
id: noteId,
dateCreated: now,
title: "",
narrative: ""
});
this.activateNoteEditor(newNote);
}
activateNotesList函数是这样的:
activateNotesList: function () {
Ext.Viewport.animateActiveItem(this.getNotesListView(), this.slideRightTransition);
就我自己的例子而言,我只是试着去编辑视图而不传递数据。 所以我试试这个:
onNewNoteCommand:function()
{
var noteEditor = this.getNoteEditor();
// Ext.Viewport.add(noteEditor); also tried this.
Ext.Viewport.setActiveItem(noteEditor);
该代码运行时没有错误,但屏幕不会更改。 有什么建议吗?什么是添加的差异?
如何设置视口(尚未创建任何自定义视口)到卡?这是setactiveitem不起作用的问题吗?在视图之间切换的任何其他方式?
答案 0 :(得分:1)
Google Chrome浏览器控制台中是否存在错误? Ctrl+Shift+J
打开。
此外,您还必须检查noteEditor是否等于Object或Number。
来自sencha docs:setActiveItem( Object/Number activeItem )