$ scope.variable未定义 - AngularJS

时间:2015-12-05 16:34:38

标签: html angularjs angularjs-scope angularjs-controller

我有查询而不是问题。

HTML:

<ion-view view-title="Register" ng-controller="RegisterController">
  <ion-content>
    <div class="padding">
    <label class="item item-input ">
      <input type="number" ng-model="phone" placeholder="Enter Phone Number" >
    </label>
    </div>
    <ul class="list card">
      <li>
        {{results}}
      </li>
    </ul>
    <div class="padding">
      <button ng-click="addNumber(phone)" class="button button-outline button-block icon-left ion-plus-round button-balanced">Add Number</button>
    </div>
  </ion-content>
</ion-view>

控制器(第一路):

  .controller('RegisterController',function($scope){
    $scope.results=[{number:80970}];
    $scope.addNumber = function(){
    $scope.results.push({number : $scope.phone});
    };
  })

控制器(第二路):

  .controller('RegisterController',function($scope){
    $scope.results=[{number:80970}];
    $scope.addNumber = function(phone){
    $scope.results.push({number : phone});
    };
  })

这是我的问题,第二个控制器中的$scope.phone似乎在数组结果中添加了电话号码。但是,在手机和Chrome上进行测试时,第一种方式并不能将其添加到结果中。

然而,在测试时,这两种方法在JSFiddle中都能正常工作。

当我应该能够使用$scope.phone直接访问控制器时,我不确定为什么需要在HTML中传递变量。

似乎HTML代码正在创建另一个范围。但是,对于JSFiddle也应如此。

我看过ngRepeat和ngIf会产生类似这样的问题。

我该如何解决?

p.s。:我还没有传递变量&#34; phone&#34;用于第一路控制器的HTML addNumber功能。

0 个答案:

没有答案