Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我是否可以实例化一个变量,但稍后为其赋值?_Javascript_Angularjs_Angularjs Ng Repeat_Ng Repeat - Fatal编程技术网

Javascript 我是否可以实例化一个变量,但稍后为其赋值?

Javascript 我是否可以实例化一个变量,但稍后为其赋值?,javascript,angularjs,angularjs-ng-repeat,ng-repeat,Javascript,Angularjs,Angularjs Ng Repeat,Ng Repeat,我的控制器中有一个变量,希望稍后单击按钮时分配一个值。i、 e var 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

我的控制器中有一个变量,希望稍后单击按钮时分配一个值。i、 e

var 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'

   ...
页面2.html

<div>
     <p>{{ message }}</p>

     <ul>
         <li ng-repeat="user in Page2Controller.newArray">{{user.name}}</li>
     </ul>
</div>

{{message}}

  • {{user.name}
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>

运动
我不明白为什么控制台中会显示$scope.user,但在html页面中“ng repeat”不会显示用户。可能是ng repeat无法显示动态添加的数据吗

有人能帮我吗?请欣赏。

尝试切换到:

<li ng-repeat="user in scope.newArray">{{user.name}}</li>
  • {{user.name}
  • 我不认为“Page2Controller”在模板上下文中是已知的。

    尝试切换到:

    <li ng-repeat="user in scope.newArray">{{user.name}}</li>
    
  • {{user.name}

  • 我不认为“Page2Controller”在模板上下文中是已知的。

    我猜您从未调用过该函数

    var app = angular.module('myApp', []);    
    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);
        }  
        $scope.addUsers();
    });
    
    和html

    <div ng-controller="Page2Controller">
                             <p>{{ message }}</p>
    
                             <ul>
                                 <li ng-repeat="user in newArray">{{user.name}}</li>
                             </ul>
                        </div>
    
    
    {{message}}

    • {{user.name}

    我静态使用了您的控制器,因为我没有实现ngRoute。

    我想您从未调用过该函数

    var app = angular.module('myApp', []);    
    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);
        }  
        $scope.addUsers();
    });
    
    和html

    <div ng-controller="Page2Controller">
                             <p>{{ message }}</p>
    
                             <ul>
                                 <li ng-repeat="user in newArray">{{user.name}}</li>
                             </ul>
                        </div>
    
    
    {{message}}

    • {{user.name}

    我静态地使用了您的控制器,因为我没有实现ngRoute。

    首先,您需要一个ng click derective,您必须在其中单击,例如

    <button type="button" ng-click="asigningValue()"></button>
    
    然后显示使用数据绑定的using指令作为

    <p ng-bind-html="message"></p>
    

    希望这会有帮助


    谢谢大家!

    首先,您需要一个ng click directive,您必须在其中单击,例如

    <button type="button" ng-click="asigningValue()"></button>
    
    然后显示使用数据绑定的using指令作为

    <p ng-bind-html="message"></p>
    

    希望这会有帮助


    谢谢大家!

    您有:
    scope.newArray=userArray
    我认为最好添加
    $
    符号
    $scope.newArray=userArray您有这样一个:
    scope.newArray=userArray
    我认为最好添加
    $
    符号
    $scope.newArray=userArray