2016-04-03 23 views
0

AngularJS'ye oldukça yeni geliyorum. Aslında bu benim ilk günüm. Burada yapmaya çalıştığım şey, yaptığım ve denetlediğim bir denetleyiciden veri almaktır. Ama neden bilmiyorum, sadece işe yaramıyor.Angular.js'de denetleyiciden veri alınamadı.

Verilerim, öğrencilerin bir listesidir. Tek yapmaya çalıştığım, bir liste sırasındaki öğrencilerin listesini göstermek ve bir metin kutusuna girilen isme göre listeyi filtrelemek.

Kodum oldukça basittir:

<!DOCTYPE html> 
<html ng-app> 

    <head> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js"></script> 
    </head> 

    <body> 
    <h1>Hello!</h1> 

     Student Name: 
    <br /> 
     <input type="text" ng-model="sname" /> {{ sname }} 
    <div id="mvvm_communication" class="container" data-ng-controller="simpleController"> 

     <ul> 
     <li ng-repeat="stud in students | filter:sname | orderBy:'firstname'" >{{stud.firstname | lowercase }}, {{stud.lastname| uppercase }}</li> 
     </ul> 

    </div> 

    <script> 
     function simpleController($scope) 
     { 
     $scope.students=[ 
       {firstname:'Jordan',lastname:'Rains'}, 
       {firstname:'Michael',lastname:'Jordan'}, 
       {firstname:'John',lastname:'Doe'}, 
       {firstname:'John',lastname:'Smith'}, 
       {firstname:'Simcha',lastname:'Michelle'}, 
       {firstname:'Sydney',lastname:'Rivers'}, 
       {firstname:'Summer',lastname:'Rose'}, 
       {firstname:'Georgia',lastname:'Schubert'}, 
       {firstname:'Rosalie',lastname:'Fayadh'} 
       ]; 

     }  
    </script>  
    </body> 
</html> 

İşte fiddle bu.

cevap

2

Kumandanızı kaydettirmeniz gerekiyor!

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

myApp.controller('simpleController', ['$scope', simpleController]); 

Ve sonra da ng-app bir ad koymak gerekir.

<html ng-app="myApp"> 
+0

Teşekkürler. Bunu bilmiyordum. –

1

Ben güncelledik senin JSFiddle:

HTML:

<div ng-app="app"> 
    <div ng-controller="simpleController"> 
    <h1>Hello Student!</h1> Student Name:<br/> 
    <input type="text" ng-model="sname" /> {{ sname }} 
    <div id="mvvm_communication" class="container"> 
     <ul> 
     <li ng-repeat="stud in students | filter:sname | orderBy:'firstname'" >{{stud.firstname | lowercase }}, {{stud.lastname| uppercase }}</li> 
     </ul> 
    </div> 
    </div> 
</div> 

Açısal:

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


app.controller('simpleController', function($scope) { 

     $scope.students=[ 
       {firstname:'Jordan',lastname:'Rains'}, 
       {firstname:'Michael',lastname:'Jordan'}, 
       {firstname:'John',lastname:'Doe'}, 
       {firstname:'John',lastname:'Smith'}, 
       {firstname:'Simcha',lastname:'Michelle'}, 
       {firstname:'Sydney',lastname:'Rivers'}, 
       {firstname:'Summer',lastname:'Rose'}, 
       {firstname:'Georgia',lastname:'Schubert'}, 
       {firstname:'Rosalie',lastname:'Fayadh'} 
       ]; 
}); 
bir açısal modülü tanımlamak gerekir
1

:

 angular.module('app', []).controller('simpleController', simpleController); 

bkz. jsFiddle