我正在學習AngularJS,到目前爲止我有一個骨架應用程序的開始,主索引頁和兩個模板:一個登錄頁面和一個擁有非常簡單控制器的主頁。我還沒有深入骨骼,所以我試圖完成比說認證更基礎。AngularJS控制器在單獨的文件中沒有識別範圍
我編碼的原因是爲了嘗試應用我在時間學習AngularJS中閱讀的概念;這是通過給每個模板(或部分)它自己的控制器在它自己的JS文件中來模塊化你的代碼。我相信這是我應該儘早申請的最佳做法,因爲這可能會在未來增長很多。這就是爲什麼我遠離將我的控制器放在單個文件中的原因,我知道這很好。
現在事不宜遲,請看看下面的代碼,我站在那裏目前的參考:
的index.html
<!DOCTYPE html>
<html ng-app="MyApp">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>MyApp</title>
<link rel="stylesheet" href="assets/css/normalize.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<link rel="stylesheet" href="assets/css/animate.css">
<link href="https://netdna.bootstrapcdn.com/font-awesome/4.0.0/css/font-awesome.css" rel="stylesheet">
</head>
<body>
<div ng-view>
<!-- loaded view here -->
</div>
<!-- JS imports -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.6.0/lodash.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular-route.js"></script>
<script src="assets/js/app.js"></script>
</body>
</html>
app.js
angular.module('MyApp', [
'ngRoute'
])
.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when("/login", {
templateUrl: 'assets/partials/login.html',
controller: 'LoginCtrl'
})
.when("/home", {
templateUrl: 'assets/partials/home.html',
controller: 'HomeCtrl'
})
.otherwise({
redirectTo: '/login'
});
}]);
登錄。 html,home.html
<div class="container-fluid text-center">
<h2>{{pageTitle}}</h2>
</div>
個
login.js
angular.module('MyApp')
.controller('LoginCtrl', ['$scope', function($scope) {
$scope.pageTitle = "Hello! Sign In";
}]);
home.js
angular.module('MyApp')
.controller('HomeCtrl', ['$scope', function ($scope) {
$scope.pageTitle = "Welcome to the Home Page!";
}]);
那麼究竟是什麼問題,我的工作過? {{pageTitle}}是加載視圖時顯示的內容,而不是通過範圍傳入的實際值。請讓我知道這裏有什麼問題,我願意提供關於如何改進我的代碼的所有建議,所有幫助都非常感謝!
你沒有提到在您的HTML都login.js和home.js。添加與它們相對應的腳本標籤。 –
沒關係。它發生了。大問題總是來自微小的錯誤。 –