Angular获取变量值

时间:2016-03-19 23:59:51

标签: javascript angularjs

我正在学习AngularJS,我遇到数据绑定问题。 当我尝试从$scope.mytext获取价值时,我会{{mytext}}。这是代码:

 <!DOCTYPE html>
 <html ng-app="myApp">
      <head>
    <title>Hello</title>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js">
</script>
    <script>
        var MainController = function ($scope) {
        $scope.mytext = "Angular JS Rulez";
        }
    </script>
</head>
<body>
<div ng-app> 
    <div ng-controller="MainController">
        <p>{{mytext}}</p>
    </div>
</div>
</body>
</html>`

2 个答案:

答案 0 :(得分:1)

您在设置应用的方式上遇到了一些错误。

您从未定义过应用,您已声明ng-app两次,第二次未向ng-app分配任何内容,并且您引用的CDN出现错误。定义应用程序后,您需要将控制器分配给此应用程序。

以下代码适用于您,您还可以通过查看此jsfiddle演示来查看代码。

<!DOCTYPE html>
<html ng-app="myApp">
  <head>
     <title>Hello</title>
     <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>

     <script> 
          var myApp = angular.module('myApp',[]);
          myApp.controller('MainController', ['$scope', function($scope) {
               $scope.mytext = "Angular JS Rulez";;
          }]);
     </script>

  </head>
  <body>
     <div ng-controller="MainController">
        <p>{{mytext}}</p>
     </div>
 </body>
</html>

答案 1 :(得分:1)

您似乎在html中调用该应用,但您还没有在任何地方定义它。你必须:

  1. 定义&#39; myApp&#39;在javascript部分,然后
  2. 分配控制器。
  3. 您的代码只是调用未在任何应用上正确定义的MainController。

    在这种情况下的基本设置是,正如保罗提到的那样:

    var myApp = angular.module('myApp', []);
    
    myApp.controller(MyAppController, ['$scope', function($scope) {
       ...add $scope elements here ... 
    ]);
    

    此外,你不应该在html中两次调用ng-app。