我有一個以 ng-repeat 呈現的 angularjs(不幸的是,這是必需品)組件。
<parent-li ng-repeat="item in layout">
<component-with-tippy item="item"></component-with-tippy>
</parent-li>
該組件有一個tippy,我通過屬性配置對其進行實體化
<div>
<button data-tippy-content="This is the button"></button>
</div>
componentWithTippy.js 在控制器中有這個:
// Tippy
tippy('[data-tippy-content]',
{
trigger: 'mouseenter',
}
)
我遇到的問題是tippy適用于布局陣列中除最后一項之外的所有專案。如果我將一個專案添加到布局陣列中,tippy 將適用于上一個最后一個專案,但不會適用于新的最后一個專案。
我已經對這些專案進行了控制臺記錄,以查看最后一個專案是否有任何區別,但事實并非如此。
這是一個 angularjs 初始化的東西嗎?
uj5u.com熱心網友回復:
您想要的是在組件準備好后呼叫tippy。在 angularjs 中,您可以通過兩種方式實作:
解決方案Ⅰ。立即使用 $timeout:
$timeout(function () {
tippy('[data-tippy]', {
content: "I'm a Tippy tooltip!",
});
});
解決方案ⅠⅠ。使用 Angular 的 jqLit??e 提供的 .ready() :
$element.ready(function () {
tippy('[data-tippy]', {
content: "I'm a Tippy tooltip!",
});
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/490622.html
標籤:javascript angularjs tippyjs
