Ich habe eine Variable in meinem Controller und möchte später einen Wert zuweisen, wenn Sie auf eine Schaltfläche klicken.Kann ich eine Variable instanziieren, aber später einen Wert zuweisen?
dhvar app = angular.module('myApp', ['ngRoute']);
....
var userArray = [
{name: "John", age: 25}, {name: "Jim", age: 30}
];
app.controller('Page2Controller', function($scope) {
$scope.message = 'Look! I am from page 2.';
$scope.newArray = [];
$scope.addUsers = function(){
scope.newArray = userArray;
console.log($scope.newArray);
}
}
app.config(function($routeProvider) {
$routeProvider
.when('/page2', {
templateUrl : 'pages/page2.html',
controller : 'Page2Controller'
...
page2.html
<div>
<p>{{ message }}</p>
<ul>
<li ng-repeat="user in Page2Controller.newArray">{{user.name}}</li>
</ul>
</div>
index.html
<body ng-controller="MainController">
<div id="sideMenu">
<h2>Campaign</h2>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#page2">Page 2</a></li>
<li><a href="#page3">Page 3</a></li>
<li><a href="#page4">Page 4</a></li>
</ul>
</div>
<div ng-view></div>
</body>
Ich verstehe nicht, warum die $ scope.user in der Konsole angezeigt wird, aber in HTML-Seite der „ng -repeat "zeigt die Benutzer nicht an. Kann es sein, dass ng-repeat keine dynamisch hinzugefügten Daten anzeigen kann?
Kann mir jemand helfen? Ich weiß es zu schätzen.
Sie haben dies: 'scope.newArray = userArray;' und ich denke, es wäre besser, das '$' Zeichen '$ scope.newArray = userArray;' – MysterX