2016-08-12 3 views
1

私はAngular.jsを初めて使用しています。行の総数を表示しようとしましたが、変数ng-initにアクセスできません(ct)。最後のスパンタグは{{ct}}の値を示していません。私は何かが欠けていたか?はng-init値にアクセスできない

<div id="test-area" ng-controller="mycontroller" > 
     <input type="number" step="1" max="5" min="1" ng-model="count" style="width:50px;"/> 

     <input type="number" step="1" max="4" min="0" ng-model="indexFrom" style="width:50px;"/> 
     <table class="tab1"> 
      <thead> 
      <th>Name</th> <th>Id</th> <th>Address</th> <th>Number</th> 
       <th>Date</th> 
      </thead> 
     <tr ng-repeat="user in users | limitTo:count:indexFrom " ng-init="parent=user;$parent.ct=$index"> 
     <td>{{user.name | uppercase}}</td> 
     <td> {{user.id | number }}</td> 
     <td>{{user.address |lowercase}}</td> 
      <td ng-bind="parent.marks[0].it |currency:'$'"> 
      </td> 
      <td class="ng-bind:user.bs | date:'dd/MM/yyyy'"> 

      </td> 
     </tr> 
     </table> 
      <br/> 
     <span class="gray">Total Row Number : {{ct}} | From {{indexFrom}} to {{indexFrom+count}} </span> 
     <br/> 



    </div> 

JS:

(function(){ 

    var app=angular.module("Myapp",[]); 
    var mycontrol=function($scope){ 
     $scope.users=users; 
     $scope.increment=increment; 
     $scope.change=change; 
     $scope.count=3; 
     $scope.indexFrom=0; 
    } 
    //marks increment 
    var increment=function(marks){ 
     marks.it+=1; 
    } 
    //id increment 
    var change=function(num){ 
     num.id=Number(num.id)+1; 
    } 
    var users=[{ 
      name:"Nihar", 
      id:"123", 
      address:"new town", 
      bs:new Date("April 30 1993"), 
      marks:[{it:90},{it:88},{it:97}] 
     },{ 
      name:"Nilanjan", 
      id:"194", 
      address:"baguiaty", 
      bs:new Date("October 20 1993"), 
      marks:[{it:94},{it:65},{it:82}] 
     },{ 
      name:"raktim", 
      id:"129", 
      address:"new town", 
      bs:new Date("November 20 1994"), 
      marks:[{it:97},{it:81},{it:79}] 
     },{ 
      name:"kaushik", 
      id:"126", 
      address:"Howrah", 
      bs:new Date("November 20 1994"), 
      marks:[{it:81},{it:89},{it:78}] 
     },{ 
      name:"Malhotra", 
      id:"287", 
      address:"dumDum", 
      bs:new Date("july 23 1994"), 
      marks:[{it:91},{it:68},{it:87}] 
     }]; 
    app.controller("mycontroller",mycontrol) 



    }()); 
+1

私たちはJSを見るかもしれませんか? –

+0

Dannyの答えをさらに拡大するために、私たちはコードの最も重要な部分を私たちに示さなかったので、何が間違っているかという手がかりはありません。あなたはjavascriptの質問がありますが、あなたは私たちにjavascriptを表示しません。 –

+0

確かに、私はJsを追加するつもりです –

答えて

1

var app=angular.module("myApp",[]); 

var app=angular.module("Myapp",[]); 

を変更してみてくださいここで働いてfiddleです。

EDIT:
ナーガが正しいか、それは同様MyAppで動作します。 Myappが機能しない理由は、Angularがディレクティブ名を処理する方法のためです。 Javascript側でAngularはあなたの名前をのキャメルケースに変換します。これは基本的に最初の文字が小文字で、変数の各「単語」の次の文字が大文字であることを意味します。値がHTMLで表される場合、HTML標準はダッシュ区切りであり、各文字は小文字で、単語は-文字で区切られています。コロン(:)またはアンダースコア(_)を使用することもできますが、ハイフンが最も一般的です。

MyappまたはmyappをJavascriptで記述すると、AngularはHTMLのmyappに正規化します。しかし、MyAppまたはmyAppの場合、HTMLではmy-appになります。

HTMLとJavascriptが一致している限り、好きな大文字を使用できます。

+1

それは任意のケースで動作します、それはmyAppのケースで問題ではありません - http://codepen.io/nagasai/pen/OXdVzjこれを一度チェックしてください –

+0

あなたは説明してください、なぜそれが起こっている? –

関連する問題