4

$templateCache に入れられるビューに含めたテンプレートがあります。

<script type="text/ng-template" id="ratesPopover">
    <table class="rate-table">
        <tr ng-repeat="rate in plan.rates">
            <td>Rate</td>
            <td>{{rate}}</td>
        </tr>
    </table>
</script>

次に、渡されたスコープでテンプレートをコンパイルするディレクティブがありますが、テンプレートをバインドしたくありません。$compile サービスでテンプレートを HTML の静的文字列としてコンパイルし、それを data-content 属性で Twitter Bootstrap ポップオーバーに追加できるようにしたいだけです。双方向バインディングは必要ありません。

var template = angular.element('<div>' + $templateCache.get('ratesPopover') + '</div>'),
    popover = $compile(template)(scope);

element.attr('data-content', popover.html());

ポップオーバーを表示すると、変数が補間されていないコンパイル済みのテンプレートが表示されます。私が間違っているかもしれないことについてのアイデアはありますか?

4

2 に答える 2

3

$interpolateモジュールを注入してから実行してください

var template = '<div>' + $templateCache.get('ratesPopover') + '</div>',
    popover = $interpolate(template)(scope);

element.attr('data-content', popover);
于 2013-09-03T04:56:01.227 に答える