2015-04-12 58 views
0

我使用IntelliJ IDEA 13.1.6。我嘗試編譯一個簡單的角度應用程序。我做了一個新項目 - 靜態網站。 enter image description here 我只是做了2個文件 - hello.html和controller.js。 hello.html的:IntelliJ Idea 13中的angularJS開始

<html ng-app> 
<head> 
    <script src="angular.js"></script> 
    <script src="controllers.js"></script> 
</head> 
<body> 
<div ng-controller='HelloController'> 
    <p>{{greeting.text}}, World</p> 
</div> 
</body> 
</html> 

controller.js:

function HelloController($scope) { 
    $scope.greeting = { text: 'Hello' }; 
} 

在hello.html的和調試hello.html的右鍵 - 在瀏覽器開啓 - 鉻,它顯示{{greeting.text}}, World.

我安裝在文件 - 設置 - 插件 - AngularJS和NodeJS,也安裝在設置 - Javascript - 庫 - AngularJS - 指向我下載和解壓縮AngularJS的文件夾。

如何在瀏覽器中查看「Hello World」?

謝謝!

+0

角是什麼版本呢? – eladcon

+0

AngularJS v1.3.15 – WDrgn

回答

1

看起來你並沒有用你的應用程序的名稱創建一個模塊,然後你沒有將你的控制器註冊爲角度控制器。 <html ng-app>沒有做任何事情沒有<html ng-app="myApp">

myApp是angular在加載時會查找的模塊。一旦找到該模塊,它就會查找它應該爲該模塊註冊的其他內容。

這裏是你想要做什麼工作小提琴:https://jsfiddle.net/gf1fa3sx/

的JIST是,你需要前角知道什麼應該做什麼用angular.module('myApp', []);聲明你的角度應用。然後你需要在該模塊上聲明你的控制器:

angular.module('myApp') 
    .controller('HelloController', ['$scope',function($scope){ 
     //doStuff 
    }]); 

我希望這有助於!

+0

我正在從AngularJS一個例子 - 布拉德·格林和希亞姆Seshadri - O'Reilly,稍後我會了解到這一點,但現在我想讓這些代碼有效,謝謝! – WDrgn

+0

我也嘗試過用jsfiddle在html中編寫的代碼,並嘗試執行代碼並獲得相同的{{greeting.text}}世界。我重新檢查了一下,我在Settings和Javascript-Libraries中安裝了Idea和angular.js v.1.3.15中的AngularJS和NodeJS插件.... :( – WDrgn

0
+0

我仍然收到{{greeting.text}},World。錯誤:[ng:areq]參數'HelloController'不是函數,未定義...在assertArg(angular.js:1587) 處於assertArgFn(angular.js:1597)處的REGEX_STRING_REGEXP(angular.js:63) ) at angular.js:8470 at angular.js:7638 ...... http:// localhost:63342/angularApp/angular.js.map無法加載資源:服務器響應的狀態爲404(未找到) http:// localhost:63342/angularApp/controllers.js.map失敗加載資源:服務器響應的狀態爲404(Not Found) – WDrgn

+0

@Mihaig您必須在ng-app上聲明您的主應用程序,並且您使用舊方式聲明控制器,請嘗試以下操作: 'var myApp = angular.module( '對myApp',[]); myApp.controller( '的HelloController',[ '$範圍',函數($範圍){// 您的代碼放在這裏 }]);' –

0

解決的辦法是: hello.html的

<html ng-app="myApp"> 
<head> 
    <script src="angular.js"></script> 
    <script src="controllers.js"></script> 
</head> 
<body> 
<div ng-controller="HelloController"> 
    <p>{{greeting.text}}, World</p> 
</div> 
</body> 
</html> 

controller.js

var app = angular.module("myApp", []); 
app.controller("HelloController", function($scope) { 
     $scope.greeting = { text: 'Hello' }; 
}); 

謝謝您的回答!希望我的書不會再讓我陷入困境:)