我不确定如何在emberjs中使用bootstrap-tour ** https://github.com/pushly/bootstrap-tour。 Bootstrap-tour的文档** http://pushly.github.com/bootstrap-tour/
挑战在于,与其他jquery插件不同,我们可以通过以下方式进行集成:
didInsertElement: function() {
this.$().jQueryPlugin();
}
Bootstrap-tour需要使用不同的模式,到目前为止,为了将它与emberjs集成而尝试的所有内容都无法正常工作:
App.SiteTour = Ember.View.extend({
templateName: 'whatever',
didInsertElement: function(){
this._super(),
//var tour = new Tour();
this.tour = new Tour();
tour.addStep:({
element: "#one",
title: "Step 1",
content: ' '
});
tour.addStep:({
element: "#two",
title: "Step 2",
content: ' '
});
tour.start();
}
});
这不起作用,这也不起作用:
this.$().load({
tour.addStep({
element: "#one",
title: "Step 1",
content: "Content for step 1"
});
tour.addStep({
element: "#two",
title: "Step 2",
content: "Content for step 2"
});
},
tour.start();
});
最后这个emberjs和bootstrap-tour的jsfiddle也无法工作:
但这个没有emberjs的作品:
更新
这个jsfilddle ** http://jsfiddle.net/GqG3U/6/不会抛出任何错误,但是当我使用脚本标签时,把手不会显示。但是,如果没有脚本标记,则会显示。
答案 0 :(得分:2)
我添加了working version。
你在那里的代码非常接近,你只是没有正确地分配巡回变量并需要实例化应用程序。
如果您使用ApplicationView
和ApplicationController
设置应用程序并调用initialize
,则最新版本的Ember最有效。我知道这对jsFiddles来说有点尴尬但是否则会导致奇怪的错误。
答案 1 :(得分:1)
我尝试重构你的代码,现在它更干净(也有效):
将HTML放入把手脚本块是“Ember Way”:)
PS:在Chrome下,您应该调用tour“this.tour.start(true);”。