簡體   English   中英

AngularJs $ broadcast無法加載

[英]AngularJs $broadcast not working on load

此HTML按鈕代碼在控制器中: 單擊按鈕后,嘗試調用此函數:

     <button ng-click="vm.openpopup()" ng-if="!vm.data.length"
        uib-tooltip="Add Business Value Chain"
        class="btn btn-default `enter code here`ti-form-action-btn" id="add-bvc-btn">
        <em class="glyphicon glyphicon-plus-sign"></em>
         Add
      </button> 

    function openpopup() {
        $scope.$broadcast('popup');
    }

下面是廣播偵聽器代碼,它位於上述同一控制器下的組件內部:

$scope.$on('popup', function () {
    openModalPopup();
});

僅當不存在數據時才顯示該按鈕。

函數調用絕對可以,但是只有在有數據並且手動刪除了這些數據的情況下, 廣播才可以工作一次,然后按鈕就會顯示出來,廣播就可以了。 但是對於頁面加載,如果沒有數據存在。 廣播未觸發。

使用$rootScope.broadcast嘗試過,仍然沒有運氣。

同時檢查其他答案,將代碼塊綁定到$timeout ,仍然沒有結果。

因此,這是控制器和組件之間使用廣播進行的通信。 如何處理此負載?

我認為在您使用ng-if控制按鈕可見性的情況下,請使用ng-show而不是ng-if嘗試進行操作。 如果是ng-if ,則有可能模板無法加載。 希望能解決您的問題。

暫無
暫無

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

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