在钛窗口之间导航时出错

时间:2014-11-22 08:25:53

标签: navigation titanium

我是钛的初学者,我创建了新的移动应用程序项目并选择了经典模板。

现在我有两个java脚本文件app.js和home.js 我想从app.js导航到home.js 那是我的代码:

app.js

var window1 = Titanium.UI.createWindow({


    title : 'Tab 1',
        backgroundColor : '#fff',
        layout : 'vertical'
    });

    var label = Titanium.UI.createLabel({
        text : 'Log In:',
        left : 'true',
        color : '#000'
    });
    window1.add(label);

    var tf_userName = Titanium.UI.createTextField({
        color : '#000',
        hintText : 'User Name',
        width : '100%',
        keyboardType : Titanium.UI.KEYBOARD_DEFAULT
    });
    window1.add(tf_userName);

    var tf_password = Titanium.UI.createTextField({
        color : '#000',
        hintText : 'Password',
        width : '100%',
        passwordMask : true,
        keyboardType : Titanium.UI.KEYBOARD_DEFAULT
    });
    window1.add(tf_password);

    var loginButton = Titanium.UI.createButton({
        title : 'Log In'
    });
    loginButton.addEventListener('click', function(e) {
        var name = tf_userName.getValue();
        var pass = tf_password.getValue();

        alert('your name ' + name + ' pass ' + pass);

        var Home = require('/jobchallenge/Resources/home.js');
        var homePage = new Home();
        homePage.open();
    });
    window1.add(loginButton);

    window1.open();

home.js

    function Home() {
    Titanium.UI.setBackgroundColor('#000');

    // create tab group
    var tabGroup = Titanium.UI.createTabGroup();

    //
    // create base UI tab and root window
    //
    var win1 = Titanium.UI.createWindow({
        title : 'Tab 1',
        backgroundColor : '#fff'
    });
    var tab1 = Titanium.UI.createTab({
        icon : 'KS_nav_views.png',
        title : 'Tab 1',
        window : win1
    });

    var label1 = Titanium.UI.createLabel({
        color : '#999',
        text : 'I am Window 1',
        font : {
            fontSize : 20,
            fontFamily : 'Helvetica Neue'
        },
        textAlign : 'center',
        width : 'auto'
    });

    win1.add(label1);
    var win2 = Titanium.UI.createWindow({
        title : 'Tab 2',
        backgroundColor : '#fff'
    });
    var tab2 = Titanium.UI.createTab({
        icon : 'KS_nav_ui.png',
        title : 'Tab 2',
        window : win2
    });

    var label2 = Titanium.UI.createLabel({
        color : '#999',
        text : 'I am Window 2',
        font : {
            fontSize : 20,
            fontFamily : 'Helvetica Neue'
        },
        textAlign : 'center',
        width : 'auto'
    });

    win2.add(label2);

    tabGroup.addTab(tab1);
    tabGroup.addTab(tab2);

    return tabGroup;
}

module.exports = Home;

按下登录按钮时出现此错误

[ERROR] :  TiExceptionHandler: (main) [0,13866] - Message: Uncaught Error: Requested module not found: /jobchallenge/Resources/home.js
[ERROR] :  TiExceptionHandler: (main) [1,13867] - Source:       throw new Error("Requested module not found: " + request);
[ERROR] :  V8Exception: Exception occurred at ti:/module.js:280: Uncaught Error: Requested module not found: /jobchallenge/Resources/home.js

有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

如果你在同一目录中有app.js和home.js,那么正确的代码是:

var Home = require('home');
var homePage = new Home();
homePage.open();

或者如果你在主文件夹中有app.js而在home.js中有一个名为mysubfolder的文件夹:

app.js
--mysubfolder
----home.js

var Home = require('mysubfolder/home');
var homePage = new Home();
homePage.open();

你应该注意不需要的.js扩展名和不需要的尾随/。