2016-03-20 11 views
-1

Ich bin mir nicht sicher, warum diese Scope-Variable aus meiner Sicht nicht verbindlich ist.Scope-Variable nicht verbindlich in Sicht

HTML:

<body ng-app="example"> 
    <div ng-controller="DemoCtrl"> 
    <h1>Hello {{name}}</h1> 
    </div> 
</body> 

JS:

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

app.controller('DemoCtrl', function() { 
    $scope.name = 'World'; 
}); 

Hier ist ein JSbin mit dem Beispiel.


Update: 03/21/16

Wie @Dsafds bemerkte in seinem answer, ich habe vergessen zählen die $scope Parameter einfach. Ich wünschte, AngularJS hätte ein Flusenwerkzeug!

+0

haben Sie dies versucht, anstelle von Umfang? und haben Sie versucht, den $ scope im Modul zu deklarieren? –

Antwort

3

Weil Sie vergessen haben, $ Umfang zu importieren:

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

app.controller('DemoCtrl', ["$scope", function($scope) { 
    $scope.name = 'World'; 
}]); 

So wäre es dann arbeiten ..

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

 
app.controller('DemoCtrl', ["$scope", 
 
    function($scope) { 
 
    $scope.name = 'World'; 
 
    } 
 
]);
<head> 
 
    <script src="https://code.angularjs.org/1.4.9/angular.js"></script> 
 
</head> 
 

 
<body ng-app="example"> 
 
    <div ng-controller="DemoCtrl"> 
 
    <h1>Hello {{name}}</h1> 
 
    </div> 
 
</body>

0

Sie haben nicht $scope als Parameter in der Steuerung verwenden:

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

DemoCtrl.$inject = ['$scope']; // <----- Add annotation 
app.controller('DemoCtrl', function DemoCtrl($scope) { //<------- Add $scope here 
    $scope.name = 'World'; 
}); 

Siehe Arbeits Jsbin.

0

Pass $scope als Abhängigkeit in Reglerfunktion.

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

app.controller('DemoCtrl', function($scope) { 
    $scope.name = 'World'; 
}); 
Verwandte Themen