我剛開始學習AngularJS並建立了一個小而簡單的應用程序,它由多個控制器如下所示:AngularJS控制器參考變得不確定
我有一個SiteMaster.html
頁面,此頁面內我用ng-view
如下所示:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="Scripts/angular.min.js"></script>
<script src="Scripts/angular-route.min.js"></script>
<script src="Scripts/app.js"></script> <!-- Consists of Routing -->
<script src="Templates/Params/paramsController.js"></script>
<title>Angular Routing Tutorial</title>
</head>
<body ng-app="mainApp">
<h1>sitemaster Template</h1>
<div ng-view></div>
</body>
</html>
正如你所看到的最後一個腳本標籤的PARAMS頁面控制器,理想情況下,我不想在Si這個腳本標籤參考teMaster而不是我想這樣,它只有裝在需要時,現在我已經搬到從SiteMaster.Html
到params.Html
頁面這個腳本標籤將其放置在params.HTML頁面中,如下所示:
<script src="paramsController.js"></script>
<div ng-controller="paramsCtrl">
<h1>
Passed a parameter via url
</h1>
</div>
然而,當我運行該項目,我得到以下錯誤:
Error: [ng:areq] http://errors.angularjs.org/1.5.2/ng/areq?p0=paramsCtrl&p1=not%20a%20function%2C%20got%20undefined
所以我的問題是,我該如何得到這個paramsController.js
參考params.html
頁面內工作?而不是在SiteMaster.html
頁面上?
請注意,當paramsController.js
放置在SiteMaster.Html
頁面內時,它將按預期工作。
任何幫助,將不勝感激。
更新 加入ocLazyLoad後,我也做了以下內容:
添加腳本參考sitemaster.html
裏面我app.js我也做了以下內容:
var app = angular.module('mainApp', ['ngRoute', "oc.lazyLoad"]);
在我的paramsController.js裏面我有以下內容:
angular.module("mainApp").controller('paramsCtrl', function ($scope, $routeParams, $ocLazyLoad) {
console.log($routeParams);
var param1 = $routeParams.page_number;
alert(param1);
});
現在我打了一個路障,我不確定在哪裏或者如何去通過ocLazyLoad加載這個控制器?我遵循以下文檔:https://oclazyload.readme.io/docs
我覺得paramsController的路徑在params.Html文件中不正確。 –