Использование пустой строки ("") в качестве имени для ng-app

Интересно, почему это кажется проблемой с использованием пустых строк для ng-app, В примере, предоставленном w3school, я попытался использовать пустую строку для именования ng-приложения, как показано ниже, но не получилось.

<!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 ответа

Решение

Вы должны установить имя для вашего модуля или иначе не использовать модуль и удалить "ng-app" из вашего html.

Пустая строка null.

Но разнесенная строка все еще является строкой.

Вот почему вы можете использовать его.

Другие вопросы по тегам