angularJS ng-app值问题

时间:2015-03-01 20:34:37

标签: angularjs angularjs-directive

以下代码有效。

<body ng-app="" ng-init="names=['a','b']">
    <ul ng-repeat="x in names">
        <li >
             {{ x }}
        </li>
    </ul> 
</body>

但是一旦我向ng-app添加一个值(例如ng-app =“myApp”),它就会停止工作。谁知道为什么?

2 个答案:

答案 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>