gpt4 book ai didi

javascript - AngularJs $broadcast 无法加载

转载 作者:行者123 更新时间:2023-12-03 03:20:35 25 4
gpt4 key购买 nike

This HTML button code is in controller: On click of a button, trying to call this function:

     <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');
}

下面是广播监听器代码,位于上述同一 Controller 下的组件内部:

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

仅当不存在数据时才会显示该按钮。

函数调用绝对没问题,但是广播仅在有数据的情况下才起作用一次,并且如果手动删除这些数据,则会显示按钮并且广播起作用。但是对于页面加载,如果没有数据存在。 广播未触发。

尝试使用$rootScope.broadcast,仍然没有运气。

还检查了其他一些答案,将代码块绑定(bind)在$timeout内,仍然没有结果。

这是 Controller 和组件之间使用广播进行的通信。如何在加载时处理这个问题?

最佳答案

我认为您遇到的问题是您使用 ng-if 控制了按钮的可见性,请尝试使用 ng-show 而不是 ng-如果。在 ng-if 的情况下,模板有可能无法加载。我希望这能解决您的问题。

关于javascript - AngularJs $broadcast 无法加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46591255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com