第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

dom完成渲染后如何運行指令?

dom完成渲染后如何運行指令?

揚(yáng)帆大魚 2019-11-11 14:48:24
我有一個看似簡單的問題,沒有明顯的解決方案(通過閱讀Angular JS文檔)。我有一個Angular JS指令,該指令根據(jù)其他DOM元素的高度進(jìn)行一些計算,以定義DOM中容器的高度。指令內(nèi)部發(fā)生了類似的事情:return function(scope, element, attrs) {    $('.main').height( $('.site-header').height() -  $('.site-footer').height() );}問題是當(dāng)指令運行時,$('site-header')找不到它,返回一個空數(shù)組而不是我需要的jQuery包裝的DOM元素。我是否可以在指令中使用僅在加載DOM之后運行的回調(diào),并且可以通過常規(guī)jQuery選擇器樣式查詢訪問其他DOM元素?
查看完整描述

3 回答

?
海綿寶寶撒

TA貢獻(xiàn)1809條經(jīng)驗 獲得超8個贊

這是我的方法:


app.directive('example', function() {


    return function(scope, element, attrs) {

        angular.element(document).ready(function() {

                //MANIPULATE THE DOM

        });

    };


});


查看完整回答
反對 回復(fù) 2019-11-11
?
臨摹微笑

TA貢獻(xiàn)1982條經(jīng)驗 獲得超2個贊

可能作者不再需要我的回答。盡管如此,出于完整性考慮,我覺得其他用戶可能會覺得有用。最好和最簡單的解決方案是$(window).load()在返回函數(shù)的主體內(nèi)部使用。(或者,您可以使用document.ready。這實際上取決于是否需要所有圖像)。


$timeout以我的拙見,使用它是一個很弱的選擇,在某些情況下可能會失敗。


這是我要使用的完整代碼:


.directive('directiveExample', function(){

   return {

       restrict: 'A',

       link: function($scope, $elem, attrs){


           $(window).load(function() {

               //...JS here...

           });

       }

   }

});


查看完整回答
反對 回復(fù) 2019-11-11
  • 3 回答
  • 0 關(guān)注
  • 771 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號