首页 > 解决方案 > 获取输入标签中的值而不点击它 - angularjs

问题描述

我有一个默认值为 3 的输入标签。我想使用 angular 获取默认值,如图所示

html

<input ng-model="mid" value="3" type="text" id="dataid" placeholder="here..." />

脚本

$scope.logId = function() {
        console.log($scope.mid);
        return ($scope.mid);
    }

我的挑战是,如果我在 logId 上调用 ng-click 而不输入默认值,它将返回未定义。但是如果我在页面加载后编辑默认输入值,它不会返回未定义。请问如何使用angularjs获取输入标签中的默认值

标签: javascriptangularjs

解决方案


它应该是相反的,你不应该混合世界,角度世界和原生世界之间。

输入的默认值必须来自$scope.mid,因此您需要在$scope.mid创建当前页面/组件的控制器时分配默认值。

angular.module('app', [])
  .controller('ctrl', function() {
    this.value = 3;
  });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.0/angular.min.js"></script>

<div ng-app="app">
  <div ng-controller="ctrl as $ctrl">
    <input type="text" ng-model="$ctrl.value" />
    <pre>{{$ctrl | json}}</pre>
  </div>
</div>


推荐阅读