2015-07-11 87 views
0

我有下面的代码,它假设在'SimpleController'中显示所有产品。但它不起作用,它不显示产品。AngularJS控制器不显示

<div data-ng-controller="SimpleController"> 

    <ul> 
     <li data-ng-repeat="product in products"> 
      {{product.productname}} 
     </li> 
    </ul> 
</div> 

<script src="angular.min.js"></script> 

<script> 
    function SimpleController($scope) 
    { 
     $scope.products = [ 
      {productname:'ariel',price:'7.50'}, 
      {productname:'tinahpa',price:'12.00'}, 
      {productname:'breadbreast',price:'2.00'} 
     ]; 
    } 
</script> 

+0

角度不再支持作为控制器的全局功能。根据文档 – charlietfl

+0

使用正确的模块声明,您需要将控制器连接到应用程序。新版本不支持这一点。 – Pravin

回答

1

它正常工作,我想你忘记了设置NG-应用。试试这个...

DEMO

<!DOCTYPE html> 
<html> 

    <head> 
    <link rel="stylesheet" href="style.css"> 
    <script src="script.js"></script> 
    </head> 


    <!-- You need to give the ng-app directive the name of your app --> 
    <!-- You could also put it in the opening HTML tag --> 

    <body ng-app="foo"> 
    <div data-ng-controller="SimpleController"> 

     <ul> 
      <li data-ng-repeat="product in products"> 
       {{product.productname}} 
      </li> 
     </ul> 
    </div> 

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


    <script> 

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

     app.controller('SimpleController', SimpleController); 

     function SimpleController($scope) 
     { 
      $scope.products = [ 
       {productname:'ariel',price:'7.50'}, 
       {productname:'tinahpa',price:'12.00'}, 
       {productname:'breadbreast',price:'2.00'} 
      ]; 
     } 
    </script> 
    </body> 

</html> 
+0

谢谢,它现在有效。 –

0

你似乎并不具有应用程序模块(NG-APP)宣布在视图的任何地方。

您还需要将您的控制器传递给angular.module()的控制器函数。