Angular停止工作当我在html标签中使用ng-controller时

时间:2015-04-21 15:11:32

标签: javascript angularjs

我是Angular.js的新人,并开始在plunker.co学习角度。问题是当我在ng-controller页面的任何标记中使用html时,angular停止工作。我的意思是{{ 4+4 }}显示在使用ng-controller之后。

这是来自Plunker.co

的代码
<html ng-app>

  <head>
    <script data-require="angular.js@1.3.15" data-semver="1.3.15" 
    src="https://code.angularjs.org/1.3.15/angular.js"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
  </head>

  <body ng-controller="MainController">
    <h1>Hello Plunker!</h1>
    {{8*8}}
{{message}}

  </body>

</html>

没有ng-controller它会显示64作为输出,但会显示ng-controller,就像{{8*8}}一样。为什么会这样。请给出一些建议。提前罢了。 :)

的script.js

var MainController = function($scope){
  $scope.message = "Hello World!";
}

编辑 现在message attirbute值未显示在页面上。

4 个答案:

答案 0 :(得分:3)

首先尝试为您的应用设置名称:

<html ng-app="myApp">

然后为您的控制器设置一个名称:

<body ng-controller="MainController">

最后,您需要做的就是定义您的应用:

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

并为您的控制器尝试此定义:

myApp.controller('MainController', function($scope) {
    $scope.message = "Hello World!";
});

答案 1 :(得分:1)

ng-controller需要一个参数,它是角度代码中定义的控制器的名称。像ng-controller=foo这样的东西。您应read up了解控制器的工作原理

答案 2 :(得分:1)

我不确定你是否可以在没有名字的AngularJS控制器中使用。请为您的控制器设置一个名称,它应该有效。

答案 3 :(得分:1)

你的意思是一切都有效吗? http://jsfiddle.net/4xfq2xLu/2/

<div ng-app>
<div ng-controller="MainController">
    <h1>Hello Plunker!</h1>
    {{8*8}}
{{message}}  </div>
</div>

JS

var MainController = function($scope){
  $scope.message = "Hello World!";
}