【问题标题】:How get query parameter in marionette controller如何在木偶控制器中获取查询参数
【发布时间】:2017-08-11 23:27:25
【问题描述】:

在早期版本的木偶中,我们可以使用木偶控制器

return Marionette.AppRouter.extend({
    appRoutes: {
        'admin/:controller/:action(?:query)': "controllerThird",
        '*notFound': "error"
    },
    controller: new Controller()
})

return Marionette.Controller.extend ({
    controllerThird: function (controller, action, query) {
        this.start(action);
    }
})

但现在Marionette.Controller

警告:已弃用。不推荐使用 Controller 对象。代替 使用带有 AppRouter 的 Controller 类,您应该指定您的 普通 Javascript 对象或 Marionette 对象上的回调

我们像使用 MVC 控制器一样

function (Backbone, Marionette, controller){

    "use strict";

    var AppRouter = Backbone.Marionette.AppRouter.extend({

        appRoutes: {

            "path1" : "goto_path1",
            "path2" : "goto_path2",
            "path3" : "goto_path3"
        }

    });

    return new AppRouter({controller: controller});

});

  define([
  'jquery',
  'underscore',
  'backbone',
  'marionette',
  'app',
  'userSession'
], 
function($, _, Backbone, Marionette, App, userSession) {

    return {
        goto_path1: function () {
                //I need get current query in this point 

        },
});

https://stackoverflow.com/questions/11410059/suggested-bootstrap-boilerplate-sample-for-backbone-marionette-application

在控制器处理程序中,我想访问操作,查询参数,如

controllerThird: function (controller, action, query)

我该怎么做?

【问题讨论】:

    标签: javascript backbone.js marionette


    【解决方案1】:

    您实际上可以保留大部分现有代码,它仍然可以工作。就像弃用消息所暗示的那样简单。

    只需更换控制器

    return Marionette.Controller.extend ({
        controllerThird: function (controller, action, query) {
          this.start(action);
        }
    })
    

    使用木偶对象:

    return Marionette.Object.extend ({
        controllerThird: function (controller, action, query) {
          this.start(action);
        }
    })
    

    更多示例请参见此处

    https://marionette.gitbooks.io/marionette-guides/content/en/appendix/approuter/router.html#router-and-controller

    【讨论】:

      猜你喜欢
      • 2015-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多