在不同的控制器中访问AppCtrl的变量

时间:2013-07-17 06:58:39

标签: javascript jquery html5 angularjs

让我们说这是我的HTML:

<html ng-app ng-controller="AppCtrl">
   <head>
      <script src="http://code.angularjs.org/1.0.6/angular.min.js"></script>
      <script src="script.js"></script>
   </head>
<body>
   <div ng-controller="MyController">
      Your name:
         {{$scope.AppCtrlsVariable}}
      <input type="text" ng-model="username">
      <button ng-click='sayHello()'>greet</button>
      <hr />
         {{greeting}}
   </div>
</body>
</html>

我在AppCtrl中有一个名为 AppCtrlsVariable 的变量。如何在div ng-controller="MyController"内访问它。当我尝试在MyController中访问AppCtrl的变量时,我得到了未定义。

你能否建议我缺少什么?

1 个答案:

答案 0 :(得分:1)

您正在使用{{$scope.something}}访问变量。它应该是{{something}}

使用嵌套控制器,您可以访问父变量。如果您在内部控制器中覆盖它,您也可以使用$scope.$parent.somethingLive example

<div ng-app="myApp" ng-controller="AppCtrl">
{{$scope.AppCtrlsVariable}} <!-- wrong -->
{{AppCtrlsVariable}} <!-- correct -->
<div ng-controller="MyController">
Your name: {{AppCtrlsVariable}}