Angular 在 XML 命名空间中不会通过 ng:app 自动 bootstrap
Angular in an XML Namespace does not auto bootstrap via 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
不起作用?
您的示例运行良好。看看这里:http://plnkr.co/edit/mgUMZe09FSr1aALE6ddd?p=preview
可能您的 angular script
没有正确包含
<script/>
应该是 <script></script>
它不会自动关闭 html 标签
由于以下原因,ng:app
语法不起作用:
The elements contained within the template are always created in the HTML namespace. Whilst this is probably fine for the fast majority of cases if someone ever uses AngularJS with another XML document like SVG this could cause some problems.
参考资料
我知道由于与 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
不起作用?
您的示例运行良好。看看这里:http://plnkr.co/edit/mgUMZe09FSr1aALE6ddd?p=preview
可能您的 angular script
没有正确包含
<script/>
应该是 <script></script>
它不会自动关闭 html 标签
由于以下原因,ng:app
语法不起作用:
The elements contained within the template are always created in the HTML namespace. Whilst this is probably fine for the fast majority of cases if someone ever uses AngularJS with another XML document like SVG this could cause some problems.
参考资料