Angular в пространстве имен XML не загружается автоматически через приложение ng:app
Я знаю, что из-за обратной совместимости с IE, Angular позволяет использовать xmlns и использовать ng:
вместо ng-
Однако, похоже, он не работает со всеми директивами в xhtml.
<?xml version="1.0"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ng="http://angularjs.org">
<head>
<title>Test</title>
</head>
<body ng:app="MyApp">
<div ng:controller="FooController as foo">
<p>{{foo.text}}</p>
</div>
<script src="angular.min.js" />
<script>
var app = angular.module("MyApp", []);
app.controller("FooController", function () {
this.text = "Hello Angular!";
});
</script>
</body>
</html>
Выше будет просто производить {{foo.text}}
, но если я заменю ng:app
с ng-app
(выезд ng:controller
так оно и есть) все отлично работает. Мне очень нравится последовательность использования пространств имен, так почему ng:app
Работа?
2 ответа
ng:app
синтаксис не работает из-за следующего:
Элементы, содержащиеся в шаблоне, всегда создаются в пространстве имен HTML. Хотя это, вероятно, подходит для быстрого большинства случаев, если кто-то использует AngularJS с другим XML-документом, таким как SVG, это может вызвать некоторые проблемы.
Рекомендации
Ваш пример работает отлично. Посмотрите здесь: http://plnkr.co/edit/mgUMZe09FSr1aALE6ddd?p=preview
Может быть, ваш angular script
не включен должным образом
<script/>
должно быть <script></script>
это не самозакрывающийся HTML-тег