使用空字符串(“”)作为ng-app的名称

时间:2015-08-10 15:50:46

标签: javascript angularjs angularjs-directive

我想知道为什么使用ng-app的空字符串似乎有问题。 在w3school提供的example中,我尝试使用空字符串命名ng-app,如下所示,但失败了。

<!DOCTYPE html>
<html>
    <script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js">
    </script>
<body>

<p>Try to change the names.</p>

<div ng-app="" ng-controller="myCtrl">

    First Name: <input type="text" ng-model="firstName"><br>
    Last Name: <input type="text" ng-model="lastName"><br>
<br>
    Full Name: {{firstName + " " + lastName}}

</div>

<script>
    var app = angular.module('', []);
    app.controller('myCtrl', function($scope) {
      $scope.firstName= "John";
      $scope.lastName= "Doe";
    });
</script>

</body>
</html>

即使制作" "也会使ng-app指令有效。有什么想法吗?

我想知道这个问题的原因是我学会了一个实现相同功能的例子而没有初始化控制器而ng-app是一个空字符串。

<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js">
</script>
<body>

<div ng-app="" ng-init="firstName='John'">

<p>The name is <span ng-bind="firstName"></span></p>

</div>

</body>
</html>

2 个答案:

答案 0 :(得分:1)

空字符串null。

但是间隔的字符串仍然是一个字符串。

这就是为什么你可以使用它。

答案 1 :(得分:1)

您必须为模块设置名称,否则不使用模块并从您的HTML中删除“ng-app”。