2

我不确定如何将 bootstrap-tour ** https://github.com/pushly/bootstrap-tour与 emberjs 一起使用。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 也无法正常工作:

http://jsfiddle.net/GqG3U/5/

但是这个没有 emberjs 的作品:

http://jsfiddle.net/GqG3U/4/

更新

这个 jsfiddle ** http://jsfiddle.net/GqG3U/6/ 不会抛出任何错误,但是当我使用脚本标签时,把手不会显示。但是,如果没有脚本标签,它会显示。

4

2 回答 2

2

我添加了一个工作版本

您在那里的代码非常接近,您只是没有正确分配 tour 变量并且需要实例化应用程序。

ApplicationView如果您使用andApplicationController和 call设置应用程序,最新版本的 Ember 确实效果最佳initialize。我知道这对于 jsFiddles 来说有点尴尬,但否则会导致奇怪的错误。

于 2012-09-09T13:01:02.117 回答
1

我试图重构你的代码,现在它更干净(也有效):

http://jsfiddle.net/GqG3U/14/

将 HTML 放入车把脚本块是“Ember Way”:)

PS:在 Chrome 下你应该调用 tour "this.tour.start(true);"。

于 2012-09-09T13:19:26.933 回答