Sharepoint 2013 不适用于 Angularjs

Sharepoint 2013 won't work with Angularjs

我尝试 运行 在我的 SharePoint 2013 网站上进行这个非常简单的输入测试。一开始它运行良好,但在不同内容编辑器的同一页面中进行了一些其他实验(我没有接触输入测试)后它坏了,现在只显示带双括号的搜索。我已经尝试在内容编辑器和脚本编辑器中实现它,但似乎没有任何效果。它只显示文本和{{search}}

<script src=".../SiteAssets/javascript/angular.min.js"></script>
<script src=".../SiteAssets/javascript/jquery-2.1.4.min.js"></script>
<div>
     <input type="text" ng-model="search">
     <p>you're searching for: {{search}}</p>
</div>

我也搞不懂为什么简单的 Hello World 不能正常显示。它还显示双括号。

var app = new angular.module("mainApp", []);

app.controller("HelloController", function ($scope) {
 $scope.greeting = 'hello';
});


angular.bootstrap(document, ['mainApp']);

上面是控制器,下面是.html.

<script type="text/javascript" src=".../SiteAssets/javascript/angular.min.js"></script>
<script type="text/javascript" src=".../SiteAssets/javascript/HelloController.js"></script> 

<div ng-app='mainApp' ng-controller='HelloController'>
    <p>{{greeting}}, World</p>
</div>

我已经测试了最小下载策略功能对这些问题的影响,但没有任何区别。

希望有人能帮忙!

BR, 诺拉

您需要 bootstrap angular 在 angular.element 上的应用程序在 DOM 正确加载后准备就绪。

代码

angular.element(document).ready(function() {
     angular.bootstrap(document, ['mainApp']);
});

You should call angular.bootstrap() after you've loaded or defined your modules. You cannot add controllers, services, directives, etc after an application bootstraps.

Doc Link