[英]'angular' is not defined (scripts not linking together)
我正在嘗試使我的第一個真正的MEAN堆棧正常工作,因此這可能是菜鳥的錯誤。
為什么app.js中的angular模塊和controllers.js中的函數仍未定義(未定義“ Angular”,未定義“ PollListCtrl”,等等)
提前謝謝了!
這是index.jade
extends layout
doctype html
html(lang='en', ng-app='polls')
block content
p Welcome to #{title}
head
meta(charset='utf-8')
meta(name='viewport', content='width=device-width, initial-scale=1, user-scalable=no')
title= title
script(src='https://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.js')
script(src='//ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular-resource.js')
script(src='/public/js/controllers.js')
link(rel='stylesheet', href='//netdna.bootstrapcdn.com/bootstrap/3.0.1/css/bootstrap.css')
link(rel='stylesheet', href='/stylesheets/style.css')
script(src='/public/js/services.js')
script(src='/public/js/app.js')
body(ng-controller='PollListCtrl')
nav.navbar.navbar-inverse.navbar-fixed-top(role='navigation')
div.navbar-header
a.navbar-brand(href='#/poll')= title
div.container
div(ng-view)
和controller.js的第一行
function PollListCtrl($scope, Poll) {
$scope.polls = Poll.query();
}
...和app.js
angular.module('polls', ['pollServices']).config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/polls', { templateUrl: 'partials/list.html', controller:
PollListCtrl }).when('/poll/:pollId', { templateUrl: 'partials/item.html', controller:
PollItemCtrl }). when('/new', { templateUrl: 'partials/new.html', controller:
PollNewCtrl }).otherwise({ redirectTo: '/polls' });
}]);
您這里需要解決一些問題。
angular.module
分配給變量,即: var polls = angular.module('polls', ...
polls.controller('pollListCtrl', [$scope, function($scope) { ...
還要注意,控制器名稱通常不以大寫字母開頭。
希望可以使您更加穩固,但是我強烈建議閱讀Angular.js教程 ,以便對角度的工作方式有更好的了解。
編輯
如前所述,您可以跳過將應用程序分配給變量的操作,然后在連接控制器時完全引用該應用程序:
angular.module('polls').controller('pollListCtrl', [$scope, function($scope){
...
大多數示例將顯示第一種形式,但是許多人認為更明確的設計是一種更好的做法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.