[英]Bootstrap for Ember using Ember CLI; can't get popovers component to work
我被困在这里...
http://ember-addons.github.io/bootstrap-for-ember/#/show_components/popover显示了有关该如何工作的文档...下面引用可能是我不太了解的部分(这是一个有点令人困惑,因为所有这些都提到了工具提示而不是弹出窗口,但是我在飞跃着,因为它们都在同一个文档中并且都相关...)
为了获得Popover支持,需要调整应用程序路由,并在主模板中添加命名的插座,并引用从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
});
} });
好的,所以在template / application.hbs中,我添加了以下内容:
{{outlet bs-tooltip-box}}
然后,在routes / 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”的控制器不存在。 因此,我创建了一个:ember g controller 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}}车把,而且我还测试了其中的其他几件东西,它们似乎也可以正常工作,所以我很确定自己已将资产正确添加到项目中,等等
我自己解决了。
我的问题是关于如何通过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注释,否则它会在构建时抱怨未定义(因此,我想为什么我认为需要导入它)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.