Tengo una aplicación de Microsoft SharePoint 2013 que consta de páginas aspx de aplicaciones personalizadas de AngularJS. La aplicación funciona perfectamente bien en SP13.
Pero ahora el requisito es pasar al sitio de SPO Modern Teams. Para evitar una gran cantidad de redesarrollo de SPFx y retrasos, he usado un React Script Editor Webpart SPFx Webpart donde simplemente puedo copiar el HTML y las referencias que ya están desarrolladas y los archivos de script en funcionamiento.
Me enfrento a un problema intermitente en el que solo en la carga de la primera página , aparece el siguiente error:
Error: [ng: areq] El argumento 'FormCtrl' no es una función, no está definido
Cuando vuelvo a actualizar, todo se carga correctamente y funciona bien. No puedo solucionar el problema y resolver el problema intentando varias combinaciones y busco ayuda con esta comunidad.
A continuación se muestra cómo se crea la aplicación en SharePoint 2013 (que funciona bien), pero de forma intermitente cuando se mueve a SPO React Script Editor Webpart:
Un archivo de aplicación con definición para la aplicación que se declara en el HTML como ng-app
var app = angular.module('myApp', ['ngRoute']);Un archivo de constantes que se utiliza en el controlador.
app.constant('config', { ListName: 'This is the name of the list' });Un archivo de servicio. Todas las llamadas a la API REST y los métodos comunes se definen aquí y se llaman desde el controlador.
app.service('DataAccessLayer', ['$http', '$q', function ($http, $q) { this.method1(){ .... } this.method2(){ .... } });app.service('DataAccessLayer', ['$http', '$q', function ($http, $q) { this.method1(){ .... } this.method2(){ .... } });
El archivo del controlador principal que tiene la funcionalidad escrita:
app.controller('FormCtrl', function ($scope, config, DataAccessLayer) {});