我使用带有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
我在其他地方使用它时出了什么问题。
答案 0 :(得分:0)
如果要动态设置对象的属性,则不能使用文字语法,首先需要实例化对象,然后通过数组语法设置属性及其值,即
var tourConfig = {};
tourConfig[this.ui.MENU_ITEM_DASHBOARD] = 'This is a title';
this._ui_tour(tourConfig);