2016-09-15 45 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