2015-07-21 5 views
0

Я знаю, что у меня нет чего-то основного. Как мне вызвать метод checkValue изнутри метода startup (прокомментированная строка)? Все это содержится в представлении в структуре MVC и пользовательском API.Вызов метода другим способом

По существу, когда startup работает, я хочу, чтобы стрелял alert().

define(function(require) { 
    'use strict'; 
    var Class = require('common/Class'), 
     ModuleView = require('common/platform/ModuleView'); 

    var value = 0; 

    return Class.create(
    ModuleView, 
    { 

     startup : function() { 
     value = 1; 
     //invoke checkValue(value) somehow... this.checkValue(value)? 
     }, 

     checkValue: function(value) { 
     if (value >= 1) { 
      alert("Hello."); 
     } 
     } 

    } 
); 

}); 
+0

Так вы попробовали? –

+0

ха-ха, да, никогда не знаю, пока не попробуешь. Отлаживайте его, проверяйте «это» внутри «запуска», чтобы увидеть, является ли это окном, или если это объект, который имеет функцию «checkValue», или если это какая-то другая вещь, которая может привести вас к вашему объекту с помощью этой функции. – JohnnyFun

+0

@PaulS. Да, нада. – daveycroqet

ответ

1

Как о написании класса, как это:

return Class.create(ModelView, modelView()); 

function modelView() { 
    this.startup = function() { 
     value = 1; 
     this.checkValue(value); 
    } 
    this.checkValue = function(value) { 
     if (value >= 1) 
      alert("Hello."); 
    } 
} 

Таким образом, вы также можете использовать этот класс несколько раз, объявляя новый экземпляр.

+0

Я отдам его и отчитаю. Спасибо за идею. – daveycroqet

+0

Вы также можете объявить значение внутри класса ... Я не уверен, почему вы объявили его вне класса. –

+0

Это работает. Для этого потребуется тонна перезаписи, но она работает. Благодаря! – daveycroqet