这个特定的AngularJS代码有什么问题?

时间:2015-07-02 03:21:50

标签: javascript html angularjs

所以我在熟悉并学习了基本的JS,HTML和CSS后,通过几个在线网站学习AngularJS。我发现这3个相当简单,但是我对AngularJS有点问题。我真的只是刚开始,但有一个问题,为什么我输入的代码没有返回所需的结果。我有两个窗口(或文件......我不确定这里的正确词汇是什么)打开。一个名为main.js的js和一个名为index.html的索引文件。在main.js中我有:

    var app= angular.module('myApp'),[])

    app.controller('MyController', function($scope) {
      $scope.person = {
        name: "Papa Bear"
      };
    }); 

在索引文件中我有:

<!doctype html>
<html ng-app='myApp'>
  <head>
    <script src='js/main.js'></script>
    </head>
  <body> 
  <h2> Hi there </h2>
<div ng-controller='MyController'>
  {{ person.name }}
</div>
  </body>
  <html>

“你好”显示得很好。但是(我相当肯定)应该返回的{{person.name}}:Papa Bear只是简单地显示为“{{person.name}}”。我的代码中的错误在哪里,它没有将person.name连接到Papa Bear?

2 个答案:

答案 0 :(得分:0)

是的,就像kaveman指出的那样,你必须要包含角度脚本才能工作。尝试将此添加到头部:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>

看看是否有效。

修改 另外,我刚注意到(感谢Bhojendra Nepal),这个:

var app= angular.module('myApp'),[])

应该是:

var app = angular.module('myApp',[]);

angular.module将应用程序名称作为第一个参数,并将依赖项数组作为第二个参数,以创建新的角度模块。如果没有依赖项数组的第二个参数,它将返回该名称的现有角度模块。

所以可选地,您可以执行以下操作:

,而不是将模块分配给变量
angular.module('myApp',[]);

angular.module('myApp').controller('MyController',function($scope){
    $scope.person = {
        name: "Papa Bear"
    };
});

https://docs.angularjs.org/api/ng/function/angular.module

答案 1 :(得分:0)

http://jsfiddle.net/y17Lehqg/

var app= angular.module('myApp',[]);

app.controller('MyController',function($ scope){       $ scope.person = {         名称:“爸爸熊”       };     });