angularjs ng-show 在没有 http get 的情况下无法工作

angularjs ng-show not working without http get

我有问题。在我的 html 文件中,我有以下内容:

<div ng-controller='nav'>
                <ul >               
                    <li ng-show="sh" >
                        <a ui-sref="problems">name</a>                        
                    </li>

            </div>

我的控制器是:

app.controller('nav', function($scope, $state, $http){
        $(function(){        

            $scope.sh=true;
            //$http.get('something');
        });
    });    

如果

$http.get('something')

被评论,ng-show 不起作用。但是,如果我取消注释,它就会开始工作。我不明白这是为什么。你有类似的问题吗?

那里不需要jquery功能你可以直接使用$scope.sh=true;

试试下面的代码。

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8" />
</head>
<body>
    <div ng-controller='nav'>
        <ul>
            <li ng-show="sh">
                <a ui-sref="problems">name</a>
            </li>
        </ul>
    </div>

    <script src="../lib/angular.js"></script>
    <script>
        var app = angular.module('app', []);
        app.controller('nav', function ($scope, $state, $http) {
                $scope.sh = true;
                $http.get('something')
        });
    </script>
</body>
</html>

我不知道你为什么要包含 jquery 部分。最好不要在 AngularJS 项目中使用 jquery。您将以 AngularJS 一种或另一种方式获得几乎所有的东西。