0

私はtwitter-bootstrapでemberjsを使用していますが、cssのみであるため、ブートストラップから取得されたjavascriptはありません。

ポップオーバーを機能させたいのですが、ポップアップしますが、popover-content設定しても表示されません。これが私のコードです:

popoverTemplate.hbs:

<div class="popover fade right in" style="top: 12.5px; left: 242px; height:200px;width:200px; display: block;">
<div class="arrow"></div>
<h3 class="popover-title">A Title</h3>
<div class="popover-content">And here's some amazing content. It's very engaging. right?</div>

私の見解:

 App.PopoverView = Ember.View.extend({
     templateName: 'popoverTemplate'
 });

トグル動作を発行するコントローラーは次のとおりです。

    showPopover: null,
    init:function(){
        this.set('showPopover',false);
    },
    togglePopoverView: function(){
        this.set('showPopover',!this.get('showPopover'));
    }

そして、これが私のメイン テンプレートです。ここで、ポップオーバーのロジックを設定します。

     {{#if showPopover}}
                {{view App.PopoverView}}
     {{/if}}

更新 残念ながら、私のコードにバグが見つかりませんでした-少なくとも私がここに置いたものは. 問題は、最初のテンプレートでヘルパーを使用してコンテキストを設定し、#withそれを忘れていたことです。したがって、おそらくこの質問は削除します。貢献してくれてありがとう。

4

2 に答える 2

1

Ember がポップオーバーを DOM に挿入するときに、ポップオーバーを登録します。これが私のプロジェクトで行うことです。正確ではありませんが、これがその作業を行うための手がかりになることを願っています.

App.PopoverView = Ember.View.extend({
    templateName: 'popoverTemplate',
    didInsertElement: function() {
       this.$('.popover').popover(
            {
                title: $(this).attr('data-title'),
                content: $('#popover-content').html() });
            });
    }
});

HTML は次のようになります。

<a class="popover" data-title="Title Here">Toggle Popover</a>
<div id="popover-content">
   <!-- content... -->
</div>

リンクをクリックすると、ポップオーバーのトグルが追加され、追加のコードがなくても動作するはずです。

于 2013-09-09T15:43:25.573 に答える