以下代码有效。
<body ng-app="" ng-init="names=['a','b']">
<ul ng-repeat="x in names">
<li >
{{ x }}
</li>
</ul>
</body>
但是一旦我向ng-app添加一个值(例如ng-app =“myApp”),它就会停止工作。谁知道为什么?
答案 0 :(得分:2)
因为,您通过指定名称告诉angular,在此页面中,我将要使用的所有对象定义和详细信息都在名为my app的模块中定义。角度搜索它并没有找到。
当您指定ng-app时,您应该指定应用程序定义,控制器可以从ng-init初始化这些值。
<html>
<body>
<div ng-app="myapp" controller="MyController">
<span>{{personname}}</span>
</div>
<script>
// this will setup the myapp
var app = angular.module('myapp', []);
app.controller('MyController',function(){
$scope.personname='tammi';
});
</script>
</body>
</html>
答案 1 :(得分:0)
您需要创建一个单独的&#34; app.js&#34; (不要忘记在html(view)文件中的脚本标记内引用它)并创建一个角度模块并将其分配给全局变量&#34; myApp&#34;:
var myApp = angular.module("myApp", []);
然后创建一个控制器,通过$ scope服务将数据公开给视图:
myApp.controller("MyCtrl", function($scope){
$scope.names = ['a', 'b'];
}
在视图中,执行以下操作:
<body ng-app="myApp" ng-controller="MyCtrl">
<ul ng-repeat="x in names">
<li >
{{ x }}
</li>
</ul>
</body>