1

我知道由于与 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:appng-app(保持原样ng:controller)一切正常。我真的很喜欢使用命名空间的一致性,那为什么不起作用ng:app呢?

4

2 回答 2

1

由于ng:app以下原因,语法不起作用:

模板中包含的元素始终在 HTML 命名空间中创建。虽然这对于大多数情况下可能很好,但如果有人曾经将 AngularJS 与另一个 XML 文档(如 SVG)一起使用,这可能会导致一些问题。

参考

于 2016-03-07T15:58:38.073 回答
0

你的例子工作正常。看看这里:http ://plnkr.co/edit/mgUMZe09FSr1aALE6ddd?p=preview

也许您angular script的未正确包含

<script/>应该是<script></script>它不是自闭合的html标签

于 2015-12-04T19:07:14.313 回答