Javascript 自定义模式Durandal

Javascript 自定义模式Durandal,javascript,modal-dialog,durandal,Javascript,Modal Dialog,Durandal,我一直在尝试使用durandal框架,我必须说我非常高兴。我正在使用的电影教程,并作出了一些改变。在Ryan Keeters Youtube视频的帮助下。我已经完成了用情态动词编辑电影的工作 但我无法通过模式添加新电影 我创建了一个Ad.HTML和Ad.js,但是当点击创建一个新电影的链接时,模态显示它显示了中间的页面(就像我点击进一步时的一个循环)。 这是我在show.html上的绑定: <a data-bind="click: viewAddMovieModal">Add Mov

我一直在尝试使用durandal框架,我必须说我非常高兴。我正在使用的电影教程,并作出了一些改变。在Ryan Keeters Youtube视频的帮助下。我已经完成了用情态动词编辑电影的工作

但我无法通过模式添加新电影

我创建了一个Ad.HTML和Ad.js,但是当点击创建一个新电影的链接时,模态显示它显示了中间的页面(就像我点击进一步时的一个循环)。 这是我在show.html上的绑定:

<a data-bind="click: viewAddMovieModal">Add Movie</a>

我用durandal随附的custommodal样本修复了它。但是我如何在模态的结束语句上传递多个值呢?不管怎样,将我的数据制作成JSON。。。还是有更好的方法?要在de app.modal.close()中传递数据,您可以回答自己的问题。如果你这样做的话,对社区是有好处的。
define(function (require) {
    var self = this;

    var vm = {
        activate: activate,
        title: 'movies page',
        movies: ko.observableArray([])
    };
    //return vm;

   // self.moviesRepository = require("repositories/moviesRepository");
    self.router = require('durandal/plugins/router');
    self.system = require('durandal/system');
    self.app = require('durandal/app');
    self.movie = require('viewmodels/movie');
    self.addmovie = require('viewmodels/add');
    //self.Movies = ko.observableArray([]);
    self.viewMovieModal = function (movie, element) {
        self.app.showModal(movie).then(function (result) {
            if (result) {
                //self.app.showMessage(result.toString(), result.toString());
               vm.movies.remove(movie);
            }
        }).fail(function (result) {
            self.app.showMessage(result.toString(), "Something went wrong!");
        });
    };

    self.viewAddMovieModal = function (addmovie,element) {
      //  self.app.showModal(addmovie).then(function (result) {
         //   self.app.showMessage(result.toString(), result.toString());
      //  });
        self.app.showModal(null, element, addmovie);
    };

    init();

    function init() {
        vm.movies.push(new movie("Star wars", "Piet"));
        vm.movies.push(new movie("Harry Potter", "Jan"));
        vm.movies.push(new movie("Hangover", "Klaas"));
    }

    function activate() {
        self.system.log("I get in the activate function!");
    }

    return {
        activate: activate,
        movie: movie,
        addmovie:addmovie,
        vm:vm,
        viewMovieModal: viewMovieModal
    };
});