Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.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 ng重复不输出结果_Javascript_Angularjs - Fatal编程技术网

Javascript ng重复不输出结果

Javascript ng重复不输出结果,javascript,angularjs,Javascript,Angularjs,我在这方面还是新手,我认为我做得对,但我无法在我的第一个应用程序中输出结果。 我使用ng repeat=“body.fruits中的食物”来输出,但没有显示任何内容。有什么想法吗 <!DOCTYPE html> <html ng-app="app"> <head> <title>Bootstrap 3</title> <meta name="viewport" content="width=device-wid

我在这方面还是新手,我认为我做得对,但我无法在我的第一个应用程序中输出结果。 我使用ng repeat=“body.fruits中的食物”来输出,但没有显示任何内容。有什么想法吗

<!DOCTYPE html>
<html ng-app="app">
  <head>
    <title>Bootstrap 3</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <script type="text/javascript" src="angular.min.js"></script>
            <script type="text/javascript" src="app.js"></script>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
    <link href="index.css" rel="stylesheet" type="text/css">
    <link rel="stylesheet" href="css/reset.css">
  </head>

  <body ng-controller="bodyController as body">
    <div class="navbar navbar-inverse navbar-static-top">
      <div class="container">
        <div class="navbar-header">
          <button class="navbar-toggle" data-toggle="collapse" data-target=".navHeaderCollapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a href="#" class="navbar-brand">Tech Site</a>
        </div>
        <div class="collapse navbar-collapse navHeaderCollapse">
          <ul class="nav navbar-nav">
            <li><a href="#">Specs and Features</a></li>
            <li><a href="#">How To Videos</a></li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Social Media <b class = "caret"></b></a>
              <ul class="dropdown-menu ">
                <li><a href="#">Twitter</a></li>
                <li><a href="#">Facebook</a></li>
                <li><a href="#">Google+</a></li>
                <li><a href="#">Instagram</a></li>
              </ul>
            </li>
            <li></li>
          </ul>
        </div>
      </div>
    </div>

    <div class="container">      
      <div class="row">
        <div class="col-md-2 " ></div>
        <div class="col-md-8 " >
        <div id="appleFacts" ng-repeat= "foods in body.fruits"></div>

        </div> 
        <div class="col-md-2 " ></div>  
      </div>
</div>

    <script src = "http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
  </body>
</html>

您需要定义控制器并将其包含在angular app模块中

(function() {

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

  var BodyController = function() {
    var vm = this;

    vm.fruits = [
      {name: 'Apples',price:1.00},
      {name: 'Oranges',price:2.00},
      {name: 'Pineapples',price:3.00},
      ];
  };

  app.controller('BodyController', BodyController);
})();
一旦有了这些,您就需要在
ng repeat
中对中继器逻辑进行模板化:

<body ng-controller="BodyController as vm">

...

<div id="appleFacts" ng-repeat="food in vm.fruits">
  <span>{{food.name}}</span>
</div>

...
{{food.name}

请参见此处的工作示例:

在App.js文件中,您需要使用$scope模块。这就是从html文件中的js文件访问属性的方式。所以它看起来像:

app.controller(“bodyController”),功能($scope){
$scope.foods=水果;

然后在html中:


{{food.name}


您可以使用上面的语法从这些对象访问任何其他属性:{{food.carries}或{food.price}等等。

如果repeat div中没有模板,您希望它如何打印任何内容?--在controller中声明
foods
,并尝试在视图中循环
水果
。视图不知道什么是
水果
,因为它们没有在范围上下文中定义
<body ng-controller="BodyController as vm">

...

<div id="appleFacts" ng-repeat="food in vm.fruits">
  <span>{{food.name}}</span>
</div>