AngularJS的ng-show不能使用$timeout



我想选择选项卡并显示2个按钮。

这是我的aspx代码:
 <button id="UxMoveAllRight" style="width: 40px; height: 25px; margin-top: 20px;" ng-show="showMoveallButtons()">
                                <i class="pi-icon pi-icon-angle-double-right"></i>
                            </button>
                            <button id="UxMoveAllLeft" style="width: 40px; height: 25px; margin-bottom: 20px;" ng-show="showMoveallButtons()">
                                <i class="pi-icon pi-icon-angle-double-left"></i>
                            </button>

这是我的ng-show函数代码(在controller.js中):

$scope.showMoveallButtons = function () {
                    var show = false;
                    $timeout(function () {
                        var activetab = $find("Add").get_selectedTab().get_name();
                        if (activetab == "AddBulk") { show = true }
                        else { show = false };
                    });
                    return show;
                };

但总是返回false。我想,如果选择标签等于AddBulk,显示2按钮,否则不显示

我猜,总是返回错误的原因:超时?

你知道我该怎么修吗?

try this:

$timeout(function () {var activetab = $find("Add").get_selectedTab().get_name();if (activetab == "AddBulk") {show = true}Else {show = false};返回显示;});

输入controller($timeout)

使用严格的;

app.controller('ctrlname', ['$scope','$http','$timeout', function($scope,$http,$timeout){
        ......
        ......
}]);

在你的timeOut()中使用$scope.show,并在你的指令ng-show.中影响她

JS

$scope.showMoveallButtons = function () {
                    $timeout(function () {
                        var activetab = $find("Add").get_selectedTab().get_name();
                        if (activetab == "AddBulk") { $scope.show= true }
                        else { $scope.show= false };
                    },/*Your delay here*/);
                };

相关内容

  • 没有找到相关文章

最新更新