我有一个输入:
在控制器中,我想通过设置可用来获取文本输入的值。例如: vm.inputValue = document.getElementById(' link')。value;
当我收到控制台错误时,它会破坏我的代码: TypeError:无法读取属性' value'为null
我做错了什么?
答案 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
}
}