今天写sencha touch页面跳转时遇到了这个bug,怎么找都找不到错误
先贴出错误代码
Ext.define("NotesApp.view.View1", {
extend: "Ext.Container",
// alias: "widget.view1",
config:
{
id:'view1',
layout:
{
type:'fit'
},
items:
{
xtype: "button",
text:"第一页",
centered: true,
iconMask: true,
itemId: "FirstButton"
},
listeners:
{
delegate: "#FirstButton",
event: "tap",
fn: "onFirstButtonHandler"
}
},
onFirstButtonHandler: function ()
{
console.log("enter onNewNoteHandler");
this.fireEvent("FirstEvent", this);
}
});
下面是app.js里的调用
function onDeviceReady(){
console.log("device ready2");
Ext.application({
name: "NotesApp",
controllers: ["myController"],
views: ["View1", "View2"],
launch: function () {
var View1 = {
xtype: "view1"
};
var View2 = {
xtype: "view2"
};
Ext.Viewport.add([View1, View2]);
console.log("quit onNewNoteHandler");
}
});
}
虽然应用能加载,但出来的全是白屏
google后在一个帖子里发现了这么一句话:
Because the code is not checking that an object is undefined before calling the .substring method on it.
大致是你引用了一个对象或类却没有声明,
首先是看看标示符有没有拼错,或者方法名有没有拼错
发现了一个地方拼错了,然后还不行,
回头去翻《深入浅出phonegap》的有关部分,发现了下面一句
原因是没有添加
alias: "widget.view1",
这句话,导致在app.js里产生了未知引用,报出上面的错误。
————————————————————————
此外还有一个错误,是跟这个一起出现的
Unknown chromium error: -6
这个bug会出现在你写了不存在的标示符的时候出现,比如把view1写成view2。
——————————————————
sencha touch的页面跳转至今还没搞定,努力中……….