2014-12-20 4 views
1

Я пытаюсь реализовать пользовательский диалог, как один описывают HERE или HEREDurandal Передача параметра в пользовательском диалоге

В файле JS I fdefined вид модального как

var CustomDialog = require('./customModal') 

вар DialogModel = требуется ('./MyModel') Однако мой DialogModel требует как параметр в методе активации. Маршрут для MyModel определяется принимать параметр и его метод Activate определен как

function activate(routedata){ 
.... 
} 

Чтобы открыть диалоговое окно, у меня есть

var routedata = 90; 
this.dialog = new CustomDialog('My title', new DialogModel()); 
this.dialog.show() 

Как пройти этот маршрут данных на пути?

+0

я не понимаю вопрос, и это не достаточно ясно, чтобы исправить ошибки –

ответ

1

Вы должны передать данные активации в show:

var routedata = 90; 
this.dialog = new CustomDialog('My title', new DialogModel()); 
this.dialog.show(routedata); 

и прокси это в вашем CustomDialog:

define(['plugins/dialog'], function (dialog) { 
    var CustomModal = function (title, model) { 
     this.title = title; 
     this.model = model; 
    }; 

    CustomModal.prototype.ok = function() { 
     dialog.close(this, this.model); 
    }; 

    CustomModal.prototype.show = function(activationData){ 
     return dialog.show(this, activationData); 
    }; 

    return CustomModal; 
}); 
+1

, кажется, worl хорошо с возвратом show, возвращающим dialog.show ('viewmodels/MyModel, activationData). Я могу получить параметр, переданный в методе активации. Однако, когда я использую return dialog.show (this, activationData), параметр не определен. – jpo

Смежные вопросы