我試圖讓我的第一個真正的MEAN棧工作,所以這可能是一個新手的錯誤。'angular'未定義(腳本未鏈接在一起)
爲什麼在app.js的角模塊和controllers.js預先剩餘未定義(「角」沒有定義,「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' });
}]);
沒有什麼太瘋狂的東西讓我跳出來,但我對玉的經驗有限。我會在services/controllers/etc之前包含app.js,但我不認爲這是一個突破性問題(我可能是錯的)。你確定angular.js文件被成功加載嗎?檢查開發控制檯的網絡選項卡,如果它在那裏,請嘗試加載角度文件並查看window.angular以查看是否存在。 – dvlsg 2014-11-25 00:56:46
這確實不是問題,因爲他得到了一個Angular未定義的錯誤,在他的應用程序之前加載。但是,加載應用程序集的順序很重要,應用程序聲明(app.js)必須在任何控制器,指令,服務等之前加載,因爲它們需要掛接到應用程序實例上。首先聲明angular.module('myApp',[]);然後在那之後你可以聲明angular.module('myApp')。controller('myController',[]);反過來顯然不會工作。我會作爲@dvlsg說檢查你的網絡窗口,看看角度是否加載。 – iH8 2014-11-25 02:23:16