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