簡體   English   中英

將圖像加載到AngularJS ngview中后,如何執行Foundation js調用?

[英]How do I execute foundation js call after images are loaded in AngularJS ngview?

我正在使用AngularJS和Foundation創建一個Web應用程序。

當我使用Foundation隨附的Orbit內容滑塊時,會出現問題。 它需要調用基金會的初始化函數$(document).foundation()。 當我使用ng-view和AngularJS路由功能時,每次加載新視圖時都必須重新調用此功能。 我試圖通過將調用放入每條路由加載的控制器函數中來實現。 但是我認為這會導致腳本運行得太早(在加載圖像或實際視圖之前),因為在重新加載視圖或頁面之前,它不會顯示軌道滑塊(我猜圖像已被緩存)然后在后台即可加載)。 我還嘗試使用$ routeChangeSuccess事件調用基礎函數,但這給了我相同的結果。

我還創建了一個與圖像加載事件綁定的指令,現在即使它確實可以工作,並且滑塊在第一次加載視圖時也能正確顯示,因此也必須在沒有圖像的頁面上進行基礎調用,此外還有一些使用此方法時內容閃爍(我實際上可以看到Orbit使用的UL項目符號出現和消失)

我剛剛開始使用AngularJS,所以我不確定自己在做什么/說的是完全正確的。 :)

我進行了一些研究,並閱讀了一些有關諾言和解決方案的信息,這些信息可能有助於我找到解決該問題的方法,但是我一直無法看到如何實現。

提前致謝!

我參加聚會很晚,但是對於其他人來說,這里是在加載ng-view之后如何加載基礎的方法。 加載視圖時初始化基礎。

angular.module('exampleAppApp', [
'ngAnimate',
'ngCookies',
'ngResource',
'ngRoute',
'ngSanitize',
'ngTouch'
])
.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainCtrl'
})
.when('/about', {
templateUrl: 'views/about.html',
controller: 'AboutCtrl'
})
.otherwise({
redirectTo: '/'
});
})
// initialize foundation here...
.run(function($rootScope) {
 $rootScope.$on('$viewContentLoaded', function () {
   $(document).foundation();
});
});

我忘記了這個問題!

即使是柔術,他的回答也可能有效,我認為有更好的解決方案。

有些人對Foundation JavaScript插件進行了完整的基於Angular的重寫。

http://pineconellc.github.io/angular-foundation/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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