0

我有一个带有脚本编辑器 Web 部件的 SharePoint 经典页面。在脚本编辑器 Web 部件中,我正在使用PnP Widget Wrangler向页面添加一个简单的 AngularJS 组件,如下所示:

脚本编辑器 Web 部件:

<div>
    <div ng-app="myApp" 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 type="text/javascript" src="pnp-ww.min.js" 
          ww-appName="myApp" 
          ww-appBind="Angular"
          ww-appScripts='[{"src": "https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.2/angular.min.js", "priority":0},
                          {"src": "script.js", "priority":1}
          ]'>
    </script> 
</div>  

脚本.js:

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
});

只有页面上的 Widget Wrangle 组件,AngularJS 应用程序才能正确加载。但是,当我将基本的 Hello World SharePoint 框架 (SPFx) Web 部件(如本文所述)添加到页面时,由 PnP Widget Wrangler 初始化的 AngularJS 组件停止工作。我收到以下 AngularJS 错误:

Failed to instantiate module myApp due to:
Error: [$injector:nomod] http://errors.angularjs.org/1.6.1/$injector/nomod?p0=myApp
4

1 回答 1

0

针对这个问题的一些初步建议:

  1. 检查 JQuery 版本和 JQuery/AngularJS 的加载顺序

  2. 修改角度路线,去掉[]。

  3. 重写 pnp-ww.js。

于 2018-08-03T01:36:45.283 回答