2014-10-03 50 views
0

我卡在这里...使用Ember CLI的Ember引导程序;不能让波普组件工作

http://ember-addons.github.io/bootstrap-for-ember/#/show_components/popover显示文件,说明这应该如何工作...下面引用可能是我不了解的一点(这是一个有点混乱,因为这一切都提到了提示,而不是popovers,但我正在做一个飞跃,因为它是所有这一切都与同一个文档中...)

对于酥料饼的支持,需要适应的应用路线和 添加一个命名插座到您的主要模板,并引用一个控制器 ,从Bootstrap.TooltipBoxController

//创建您的应用程序的一些控制器,它引用 Bootstrap.TooltipBoxController App.TooltipBoxController = Bootstrap.TooltipBoxController

//Application route App.ApplicationRoute = Ember.Route.extend({ 
    renderTemplate: function() { 
     // Render default outlet 
     this.render(); 
     // render extra outlets 
     var controller = this.controllerFor('tooltip-box'); 
     this.render("bs-tooltip-box", { 
      outlet: "bs-tooltip-box", 
      controller: controller, 
      into: "application" // important when using at root level 
     }); 
    } }); 

那么好吧,所以在模板/ application.hbs我加入此位:

{{outlet bs-tooltip-box}} 

然后,在路线/ application.js中我加它说:

renderTemplate: function() { 
    // Render default outlet 
    this.render(); 
    // render extra outlets 
    var controller = this.controllerFor('tooltip-box'); 
    this.render("bs-tooltip-box", { 
     outlet: "bs-tooltip-box", 
     controller: controller, 
     into: "application" // important when using at root level 
    }); 
    }, 

可以预见,在重建时,我收到一个错误,名为'tooltip-box'的控制器不存在。所以我创建一个: 烬控制器工具提示框 好吧,太好了,现在它不会在那个部分呕吐。

现在,这里的东西都横着走的,我...我试图做到这一点:

//Create some controller in your app that references _Bootstrap.TooltipBoxController_ 
App.TooltipBoxController = Bootstrap.TooltipBoxController 

所以我假设是,而不是生成的蓝图:

import Ember from 'ember'; 

export default Ember.Controller.extend({ 
}); 

猜测需要说这样的事情??:< - 这是我卡

import Bootstrap from 'somewhere I cant seem to figure out'; 

export default Bootstrap.TooltipBoxController.extend({ 
}); 

其他信息: 我添加了这一个模板遭到其他方式做工精细:

<h2 {{bs-bind-popover testme}}>Click for a popover</h2> 

,并在适当的控制器,我补充说:

testme: Ember.Object.create({ 
    title: "Hello world!", 
    content: "yup", 
    placement: "left" 
    }), 

这是不抱怨{{bs-bind-popover}}句柄,我测试了其他一些东西,他们似乎工作正常,所以我相当有信心,我已经正确地将资产添加到项目中,等等

回答

0

自己解决。

我的问题是误解了如何通过ember-cli插入事物......坦率地说,我仍然没有100%清楚,因为有些东西在使用时似乎需要导入,有些东西会在Ember下创建一个名称空间而这个(Ember的bootstrap)只是将Bootstrap作为一个全局命名空间。所以,这个问题的答案是,我拥有一切权利,除非...

import Bootstrap from 'somewhere I cant seem to figure out'; 

export default Bootstrap.TooltipBoxController.extend({ 
}); 

早该刚刚......

export default Bootstrap.TooltipBoxController.extend({ 
}); 

...没有进口需要,虽然你会想要一些jshint注释,否则它会在构建时抱怨它没有被定义(因此为什么我认为它需要被导入,我猜)。