无法访问初始值

can't access ng-init value

我是 Angular.js 的新手。尝试打印总行数但无法访问 ng-init 变量 (ct)。最后一个 span 标签没有显示 {{ct}} 的值。我错过了什么吗?

<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:"Baguiati",
            bs:new Date("July 20 1993"),
            marks:[{it:94},{it:65},{it:82}]
        },{
            name:"Raktim",
            id:"129",
            address:"Tegharia",
            bs:new Date("September 17 1993"),
            marks:[{it:97},{it:81},{it:79}]
        },{
            name:"Kaushik",
            id:"126",
            address:"Howrah",
            bs:new Date("October 10 1992"),
            marks:[{it:81},{it:89},{it:78}]
        },{
            name:"Abhishek",
            id:"287",
            address:"Dum Dum",
            bs:new Date("December 25 1994"),
            marks:[{it:91},{it:68},{it:87}]
        }];
    app.controller("mycontroller",mycontrol)



    }());

尝试改变

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

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

这是一个有效的 fiddle

编辑:
Naga 是正确的,它也适用于 MyAppMyapp 不起作用的原因是 Angular 处理指令名称的方式。在 Javascript 方面,Angular 将您的名字转换为 驼峰式 ,这基本上意味着第一个字母是小写的,每个字母的下一个字母 "word" 在变量中是大写的。当值以 HTML 表示时,它们遵循 HTML 标准,即 破折号分隔 ,其中每个字母均为小写,单词由 [=14] 分隔=] 字符。您也可以使用冒号 (:) 或下划线 (_),但连字符是最常见的。

当您在 Javascript 中写入 Myappmyapp 时,Angular 会将其标准化为 HTML 中的 myapp。但是当你有 MyAppmyApp 时,它在 HTML.

中变成 my-app

只要 HTML 和 Javascript 匹配,您可以使用任何大小写。