在AngularJS中存储文本输入的值

时间:2018-02-23 00:44:42

标签: javascript angularjs input

我有一个输入:

在控制器中,我想通过设置可用来获取文本输入的值。例如: vm.inputValue = document.getElementById(' link')。value;

当我收到控制台错误时,它会破坏我的代码: TypeError:无法读取属性' value'为null

我做错了什么?

2 个答案:

答案 0 :(得分:0)

可能您忘记在HTML中设置输入字段的ID(id = "link"):

<input id = "link" type = "text">

此外,您可以使用ng-model

执行相同的操作
<input ng-model = "vm.inputValue" type = "text">

从控制器中,如果定义范围变量,则可以获得正确的值:

$scope.vm = {};
$scope.vm.inputValue = "";

答案 1 :(得分:0)

AngularJS有一个针对你的指令ng-model。它在变量中绑定您在HTML中输入的输入,它反映您在JavaScript中的控制器变量中所做的更改。

在您的HTML中

<input type="text" ng-model="vm.myText">
{{ vm.myText }} <!-- This is output the value of vm.myText in the HTML -->
<button ng-click="vm.logData()"></button>

在您的JavaScript中

function MyController(){
  var vm = this;

  vm.myText = '';

  vm.logData = logData;

  function logData(){
    console.log('Your data is ', vm.myText); 
    // This easy, you can access your value in the JavaScript
  }
}