簡體   English   中英

使用Ember CLI的Ember引導程序; 無法使Popovers組件正常工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM