不显示与ng一起使用的简单作用域属性和字符串数组repeat



我的控制器中的scope属性出现了问题——一个简单的测试标题和一个与ng repeat一起使用的字符串数组。当从我们相当复杂的服务器提供服务时,它们不会显示在屏幕上。注意,使用ng repeat,它似乎知道数组的大小,只是不显示它,请参阅下面的第一个示例。

当从codepen或plunker等应用程序提供时,它们会正确显示。当我使用一个简单的服务器在本地主机上运行它时,它也能工作。请参阅下面第二个示例中的工作版本。

我知道响应者会抗议,如果没有关于我们服务器的更具体的信息,他们就无法提供帮助——但我想我要问的是:

  1. 你见过这样一种情况吗,ng repeat似乎知道数组的大小,但却不显示数组中的项-如果是,是什么原因造成的?

  2. 您认为我们的服务器存在哪些类型的问题会导致这种情况?我应该找什么。。

    来自我们的服务器的非工作示例

本地主机上的代码笔或简单服务器的工作示例

var app = angular.module('testApp', []);
angular.module('testApp').controller('AuthorizePageCtrl', ['$scope', function ($scope) {
'use strict';
$scope.mytesttitle = "this is a test";
$scope.myitems = [
"Alfreds Futterkiste",
"Berglunds snabbköp",
"Centro_comercial Moctezuma"
];
}]);
<!DOCTYPE html>
<html data-ng-app="testApp">
<head>
<meta charset="utf-8" />
<script data-require="angular.js@1.1.x" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.js" data-semver="1.5.8"></script>
<script src="/js/controllers/AuthorizePageCtrl.js"></script>
</head>
<body>
<div id="consent" ng-app="testApp">
<div ng-controller="AuthorizePageCtrl">
<h3>My test title should appear->{{mytesttitle}}</h3>
<div>
<ul>
<li ng-repeat="myitem in myitems">"myitem in myitems should appear->"{{myitem}}</li>
</ul>
</div>
<div  ng-repeat="myitem in myitems">
<h2>"myitem in myitems should appear->"{{myitem}}</h2>
</div>
</div>
</div>
</body>
</html>

所以第一个数据ng-app和ng-app是一样的。而你只需要一个。对于JS,我可能会改变这一点,它对我有效。

角度部分:

var app = angular.module('app', []);
app.controller('AuthorizePageCtrl', ['$scope', function ($scope) {
$scope.mytesttitle = "this is a test";
$scope.myitems = [
"Alfreds Futterkiste",
"Berglunds snabbköp",
"Centro_comercial Moctezuma"
];
}]);

HTML部分:

<!DOCTYPE html>
<html ng-app="app">
<head>
<meta charset="utf-8" />
<script  src="//code.angularjs.org/1.6.6/angular.js" ></script>
<script  src="app.js" ></script>
</head>
<body>
<div id="consent" >
<div ng-controller="AuthorizePageCtrl">
<h3>My test title should appear->{{mytesttitle}}</h3>
<div>
<ul>
<li ng-repeat="myitem in myitems">"myitem in myitems 
should appear->"{{myitem}}</li>
</ul>
</div>
<div  ng-repeat="myitem in myitems">
<h2>"myitem in myitems should appear->"{{myitem}}</h2>
</div>
</div>
</div>
</body>
</html>`enter code here`

所以网站使用的swig与angularjs冲突。

它使用swig作为模板var,这与angularjs使用{{}}相冲突,使这个非常简单的例子无法工作。感谢您的回复。。。。

如果你不想使用ng-bind ,请参阅其他关于swig/angular冲突的修复程序

最新更新