Использование пустой строки ("") в качестве имени для 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.
Но разнесенная строка все еще является строкой.
Вот почему вы можете использовать его.