2012-07-23 64 views
1

如何使用鈦中另一個.js文件的函數/方法?如何從Titanium中的另一個.js文件實現函數

如 Utils.js

var db = Titanium.Database.open('myinfodb'); 
function addIntoDb(name) { 
    db.execute('INSERT INTO info (name) VALUES(?)', name); 
    Ti.Ti.API.info(name+' Added to db'); 
} 

function getFromDb() { 
    var holddatavar = db.execute('SELECT name FROM info'); 
    return holddatavar; 
} 

db.close(); 

如何在我目前的js文件中使用呢?

回答

2

db.js

// creates your database if necessary 
var db = Titanium.Database.open('myinfodb'); 
db.execute('CREATE TABLE IF NOT EXISTS [info] (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)'); 
db.close(); 

var addIntoDb = function(name) { 
    var db = Titanium.Database.open('myinfodb'); 
    db.execute('INSERT INTO info (name) VALUES(?)', name); 
    Ti.Ti.API.info(name+' Added to db'); 
    db.close(); 
} 
exports.addIntoDb = addIntoDb; // <=== This exposes the function to another file 

// This function would remain accessible only to the file because we didn't export the function 
function getFromDb() { 
    var holddatavar = db.execute('SELECT name FROM info'); 
    return holddatavar; 
} 

那麼你可以使用它在其他JavaScript文件來訪問它,像這樣:

var db = require('/mypath/db'); // NO .js extension on this 
db.addIntoDb('Pravin'); 
0

如果你不使用CommonJS的,那麼你可以這樣做只是包括文件我的意思是爲這樣的功能創建一個文件,並將該文件包含在current.js文件中並調用該函數。

1

明白了。 只是

Ti.include('/ui/common/Utils.js'); 

Utils.js將

addStudent= function addIntoDb(name) { 
    var db = Titanium.Database.open('myinfodb'); 
    db.execute('INSERT INTO info (name) VALUES(?)', name); 
    Ti.API.info(name+' Added to db'); 
} 

getStudent=function getFromDb() { 
    var db = Titanium.Database.open('myinfodb'); 
    var holddatavar = db.execute('SELECT name FROM info'); 
    return holddatavar; 
} 
0

VAR =所有要求( 'UI /普通/所有');

Tree = require('ui/common/Tree'); 

    EBOM = require('ui/common/E-BOM'); 

    MBOM = require('ui/common/M-BOM'); 

    SBOM = require('ui/common/S-BOM'); 

//create object instance 

var self = Ti.UI.createWindow({ 

    title:'Products', 

    exitOnClose:true, 

    navBarHidden:true, 

    backgroundColor:'#ffffff', 
    ///////////////////////////////////////////////////////////////////////////// 

    activity: { 

     onCreateOptionsMenu: function(e) { 

      var menu = e.menu;   

      var menuItem = menu.add({ title: "C-BOM", icon: 'Arrow-Hover.jpg' }); 

      //menuItem.setIcon("Arrow-Hover.jpg"); 

      menuItem.addEventListener("click", function(e) { 

       var all = new All(); 

         self.add(all); 

      }); 

      (.....) 
0

最好是讓像/ utils的/ lib文件夾的子文件夾,並把有一個文件/Utils/Utils.js。

然後在index.js控制器添加全局變量,如:

Alloy.Globals.Helpers = Ti.include( '/ utils的/ Utils.js')

當你這樣做像這樣你的文件現在可以在你製作的任何控制器中訪問。 注意這是用於合金的,但對於經典的鈦幾乎是一樣的。

相關問題