2015-04-12 123 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' }; 
}); 

谢谢您的回答!希望我的书不会再让我陷入困境:)