2017-10-29 24 views
0

問題があります。私のhtmlファイルでは、私は、次の内容が含まれています。angeljs ng-showはhttpがなくても動作しません。

<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-ショーは動作しません、コメントしています。しかし、コメントを外すと機能が始まります。私はこの理由を理解できません。同様の問題がありましたか?

+2

コントローラでのjqueryの使用を中止してください。 anglejsのドキュメントやどこにいても、あなたのanglejsコントローラには '$(function()'を使う必要があります() '、さらにはjQueryが必要なのでしょうか? –

答えて

0

を使用することができますjqueryの機能は必要ありません。

<!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のほぼすべてのものを一方的に、あるいはもう一方の方法で得るでしょう。

0

そこにあなたが直接、コードの下にこれを試してみてください$scope.sh=true;

関連する問題