2015-09-21 40 views
0

我最近開始學習angularjs,嘗試了不同的例子。ng-repeat不按預期工作

由於某些原因ng重複不起作用

感謝任何幫助。

Code Demo

<!DOCTYPE html> 
<html> 

    <head> 
    <meta charset="utf-8" /> 
    <title></title> 
    <script data-require="[email protected]*" data-semver="2.0.0-alpha.31" src="https://code.angularjs.org/2.0.0-alpha.31/angular.js"></script> 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script> 
    <script> 
var app = angular.module('myapp', []); 
app.controller('myCtrl', function ($scope) { 

    $scope.fname = "joe"; 
    $scope.lname = "mathew"; 
    $scope.fullname = function() { 
     return $scope.fname + " " + $scope.lname; 
    } 

}); 
    </script> 
    </head> 

    <body> 
    <div ng-controller="myCtrl" ng-app="myapp"> 
     First name :  <input type="text" ng-model="fname" /> 
     <br /> 

     Last name :  <input type="text" ng-model="lname" /> 
     <br /> 
     <br /> 

     Full name : {{fname + " " + lname}} 
    </div> 
    <div> 
     <ul ng-controller="namesctrl" ng-app="myapp2"> 
     <li ng-repeat="item in names"> 
       {{ item.name + ', ' + item.country }} 
      </li> 
     </ul> 
     <script> 
      var myapp2 = angular.module('myapp2', []).controller('namesctrl', ["$scope", function ($scope) { 
       $scope.names = [ 
        { name: 'Jani', country: 'Norway' }, 
        { name: 'Hege', country: 'Sweden' }, 
        { name: 'Kai', country: 'Denmark' } 
       ]; 
      }]); 
     </script> 
    </div> 
    </body> 

</html> 

當我運行上面的例子中,我看到下面的輸出

{{ item.name + ', ' + item.country }} 

但不是完整列表。

+0

的plunker你需要維護兩個NG-應用程序,並與他們相關的兩個NG-控制器? – Shivi

回答

0

ng-repeat沒有任何問題。我修改你的代碼在此普拉克一點點:http://plnkr.co/edit/nmkB4dZEC1YSLMiK4RXf?p=preview

而變化,我把包括此:

var app = angular.module('myapp', []); 
app.controller('myCtrl', function ($scope) { 

    $scope.fname = "joe"; 
    $scope.lname = "mathew"; 
    $scope.fullname = function() { 
     return $scope.fname + " " + $scope.lname; 
    } 

}); 
app.controller('namesctrl', function ($scope) { 
      $scope.names = [ 
       { name: 'Jani', country: 'Norway' }, 
       { name: 'Hege', country: 'Sweden' }, 
       { name: 'Kai', country: 'Denmark' } 
      ]; 
     }); 

更多的參考,你可以閱讀:

AngularJS Multiple ng-app within a page

0

因爲我們使用兩個,所以需要引導第二個ng-app。併爲其分配任何id並引導它,如下所示

angular.bootstrap(document.getElementById(「App2」),['myapp2']);

請檢查下面列出

+0

http://plnkr.co/edit/OrmaJ3HzMqnaNJdMhtcz?p=preview – Vasanth