【问题标题】:Passing bootstrap-tour a ui object using Backbone js使用 Backbone js 传递 bootstrap-tour 一个 ui 对象
【发布时间】:2015-08-14 21:21:02
【问题描述】:

我正在使用带有 Backbone/Marionette 应用程序的 boostrap-tour 10.1 版。我已经扩展了我的基本视图原型以包含一个游览(通过自定义函数 _ui_tour() ),但我无法将一个元素传递给它以供 step 应用。

Layout.SideBarView = App.Views.ItemView.extend({
    template: App.Templates['main-layout-sidebar'],

    ui: {
        MENU_ITEM_DASHBOARD: '[data-js-menu-item-dashboard]'
    },

   ...

    onShow: function () {
        this._ui_tour({
            this.ui.MENU_ITEM_DASHBOARD: 'This is a title' //this breaks it
        })
    }
});

用以下代码交换对 _ui_tour 的调用非常有效。

this._ui_tour({
            '[data-js-menu-item-dashboard]': 'This is a title'
        })

我的基础中的 _ui_tour 函数如下所示:

_ui_tour: function (items) {
    for (var key in items) {
        var tour = new Tour({ debug: true });
        tour.addStep({
            element: key,
            title: items[key],
            content: 'This is content'
        });
        tour.init();
        tour.start(true);
        }
    }
}

错误状态:Uncaught SyntaxError: Unexpected token .我不知道使用this.ui.BLANK because有什么问题我在其他地方使用它。

【问题讨论】:

    标签: javascript backbone.js bootstrap-tour


    【解决方案1】:

    如果要动态设置对象的属性,不能使用字面量语法,需要先实例化对象,然后通过数组语法设置属性及其值,即

    var tourConfig = {};
    tourConfig[this.ui.MENU_ITEM_DASHBOARD] = 'This is a title';
    this._ui_tour(tourConfig);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-28
      • 1970-01-01
      • 1970-01-01
      • 2014-09-01
      相关资源
      最近更新 更多