2015-07-19 13 views
6

NativeScript ile uygulama yazmayı öğreniyorum. Öğrenmenin en iyi yolunun yapmak olduğunu düşünüyorum. Bu nedenle temel bir uygulama yapıyorum.JavaScript'te genel bir değişken/işlev ekleme (özellikle NativeScript)

Bu uygulamada, görünüm modellerinin tümüne ve uygulamadaki diğer kodlara erişebileceğim bir işlev ve değişken oluşturmaya çalışıyorum. Bunu yapma girişiminde, uygulama nesnesine bir işlev ve değişken ekleyeceğimi düşündüm.

var application = require("application"); 
application.mainModule = "main-page"; 
application.start(); 

I bu konuda domuz geri ve bu gibi bir genel görünür fonksiyonu ve değişken ekleyebilir Şekilli app.js:

NativeScript, uygulama Aşağıdaki kodu kullanarak başlatıldı :

application.prototype.myFunction = function() { 
    console.log('I made it!'); 
}; 
application.myVariable = 'some value'; 

Sonra benim bakış modelleri ya da diğer kodda, sadece aşağıdaki gibi bir şey yapabileceğini:

görüntüleme/Bu kodu çalıştırdığınızda, ben uygulama tanımsız olduğunu bildiren bir hata alıyorum, ancak

application.myFunction(); 
console.log(application.myVariable); 

home.js. Bunu tam olarak anlamadım. Uygulama.js'de uygulamanın global olarak görülebileceği/tanımlandığı için bunu düşündüm. Ancak, öyle görünmüyor. Aynı zamanda ne yapacağımı bilmiyorum.

cevap

12

genel ad alanını kullanın. senin app.js olarak, kod:

var application = require("application"); 
application.mainModule = "main-page"; 

global.myVariable = 'some value'; 

application.start(); 

Ardından her yerde uygulamanızda global.myVariable kullanabilirsiniz.

+1

Bu eski olduğunu biliyorum, ama bu ne kadar kaşlarını çattı? (tüm gözlemlenebilirleri yeniden yazmak zorunda kalmadan verileri paylaşmanın tek yolu gibi görünüyor) – MoshMage

+0

Küresel gözlenebilir ve propertyChangeEvent yapabilir miyiz? –