2016-09-15 19 views
0

我是一个使用AngularJS进行实验的SharePoint管理员。我正在研究一个页面,该页面将在页面的不同部分包含几个AngularJS应用程序。每个应用程序都在一个单独的包含文件中定义,因此JavaScript将嵌入到页面的主体中。由于围绕一个页面上的多个应用程序的问题,我想,让我们设置主页面以获得一个ng-app声明。在ng-app声明中定义AngularJS代码

<body ng-app="SharePointAngApp"> 

正如我所说的,代码定义位于使用内容编辑器Web部件的主体标记插入内部。

var AngularApp = angular.module('SharePointAngApp',[]); 
AngularApp.controller('spStockTicker',function($scope, $http) { 

var JCAngularApp = angular.module('SharePointAngApp',['ngSanitize']); 
JCAngularApp.controller('spJimConnect',['$scope','$http','$sce',function($scope, $http,$sce) { 

不过,现在我得到一个错误:angular.min.js:107 Error: [ng:areq] http://errors.angularjs.org/1.4.5/ng/areq?p0=spJimConnect&p1=not%20a%20function%2C%20got%20undefined

这是可能的,或确实的JavaScript不得不坐在outsite的NG-应用程序容器。

回答

1

您不能声明两次相同的模块名称。

你最好关闭以包括第二(或更多)模块为主体的一个

var AngularApp = angular.module('SharePointAngApp',['SharePointAngApp-2']); 
var JCAngularApp = angular.module('SharePointAngApp-2',['ngSanitize']); 

而且你需要做这种方式的依赖,你可能需要手动考虑自举应用程式,而比使用ng-app

这将允许您根据需要构建依赖关系阵列

+0

修复它。谢谢。 – Robbert