【问题标题】:ngModel not workingngModel 不工作
【发布时间】:2018-01-26 21:20:27
【问题描述】:

$scope.callFunction = function() {
  console.log($scope.modelData);
}
<md-select ng-model="modelData" ng-change="callFunction()">
  <md-option ng-repeat="x in tempData" ng-value="x">{{x}}
  </md-option>
</md-select>

我正在尝试使用 md-select 选择框,但 ng-model 似乎不起作用。知道我哪里出错了吗?

ng-change 函数的输出是未定义的。

【问题讨论】:

  • 我的回答对你有帮助吗?
  • 你绑定到控制器了吗?

标签: javascript angularjs angularjs-material


【解决方案1】:

您必须在控制器功能中添加 $scope。

 angular.module('test')
    .controller('TestController',['$rootScope','$http','$scope', 
       function ($rootScope,$http, $scope) {
          $scope.callFunction = function() {
            console.log($scope.modelData);
        }
 }]) 

【讨论】:

    【解决方案2】:

    使用$scope.modelData 而不仅仅是modelData

    $scope.modelData;
    $scope.callFunction = function() {
      console.log($scope.modelData);
    }
    <md-select ng-model="modelData" ng-change="callFunction()">
      <md-option ng-repeat="x in tempData" ng-value="x">{{x}}
      </md-option>
    </md-select>

    【讨论】:

    • 抱歉,打错了。我在我的代码中使用了 $scope,但它仍然不起作用
    • 您之前是否用您的数据定义了$scope.modelData?请分享您的完整代码。
    【解决方案3】:

    可以通过控制器$scope.modelName中的$scope访问模型

    // sometime data might not bind for object in that case you to declare this not always 
    $scope.modelName;
    $scope.callFunction = function() {
      console.log($scope.modelName);
    }
    <md-select ng-model="modelName" ng-change="callFunction()">
      <md-option ng-repeat="x in tempData" ng-value="x">{{x}}
      </md-option>
    </md-select>

    【讨论】:

      【解决方案4】:

      是否记录"undefined"console.log($scope.modelData); 可能会更好

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-08-09
        • 2016-12-17
        • 2018-06-13
        • 1970-01-01
        • 2021-11-27
        • 2018-03-18
        相关资源
        最近更新 更多