如果我使用"这个"代码可以正常工作公开变量的方法。但是,在代码中包含范围之后。该页面仅显示控制器范围之外的元素。
UiAtomator
App.js:
<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head
content must come *after* these tags -->
<title>Ristorante Con Fusion: Menu</title>
<!-- Bootstrap -->
<link href="bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="bower_components/bootstrap/dist/css/bootstrap-theme.min.css" rel="stylesheet">
<link href="bower_components/font-awesome/css/font-awesome.min.css" rel="stylesheet">
<link href="styles/bootstrap-social.css" rel="stylesheet">
<link href="styles/mystyles.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="container">
<div class="row row-content" ng-controller="myctrl">
<div class="col-xs-12">
<div class="tab-content">
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" ng-class="{active: isSelected(1)}">
<a href="" ng-click="select(1)"
aria-controls="all menu"
role="tab">The Menu</a></li>
<li role="presentation" ng-class="{active: isSelected(2)}">
<a href="" ng-click="select(2)"
aria-controls="appetizers"
role="tab">Appetizers</a></li>
<li role="presentation" ng-class="{active: isSelected(3)}">
<a href="" ng-click=" select(3)"
aria-controls="mains"
role="tab">Mains</a></li>
<li role="presentation" ng-class="{active: isSelected(4)}">
<a href="" ng-click=" select(4)"
aria-controls="desserts"
role="tab">Desserts</a></li>
</ul>
</div>
<ul>
<li class="media" ng-repeat="dish in dishes|filter:filtText">
<div class="media-left media-middle">
<a href="#">
<img class="media-object img-thumbnail"
ng-src={{dish.image}} alt="Uthappizza">
</a>
</div>
<div class="media-body">
<h2 class="media-heading">{{dish.name}}
<span class="label label-danger">{{dish.label}}</span>
<span class="badge">{{dish.price | currency}}</span></h2>
<p>{{dish.description}}</p>
<p>Comment: {{dish.comment}}</p>
</div>
</li>
</ul>
</div>
</div>
</div>
<script src="bower_components/angular/angular.min.js"></script>
<script src="scripts/app.js"></script>
<script src="scripts/controller.js"></script>
</body>
</html>
Controller.js:
var app=angular.module("myApp",[]);
答案 0 :(得分:1)
您正在覆盖/重新定义行中的变量:
$scope.dishes = dishes;
答案 1 :(得分:1)
删除以下代码行
$scope.dishes = dishes;
您在此处执行的操作是将$scope.dishes
的值设置为等于变量dishes
的值,但dishes
未在任何地方初始化或定义,因此您可能会覆盖您使用值undefined创建的菜肴数组。