2012-07-23 94 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')

当你这样做像这样你的文件现在可以在你制作的任何控制器中访问。 注意这是用于合金的,但对于经典的钛几乎是一样的。

相关问题