Javascript 如何将输入值输入到角度';s$范围?
我是个新手,我正在尝试做一些非常基本的事情。这是视图的一部分(所有角度文件都添加到其他位置): 我想做的很简单。我想使用输入值。我尝试了类似于Javascript 如何将输入值输入到角度';s$范围?,javascript,angularjs,angularjs-scope,angularjs-ng-model,Javascript,Angularjs,Angularjs Scope,Angularjs Ng Model,我是个新手,我正在尝试做一些非常基本的事情。这是视图的一部分(所有角度文件都添加到其他位置): 我想做的很简单。我想使用输入值。我尝试了类似于$scope.data=[]和$scope.data.push($scope.id)的方法来创建一个包含作用域值的数组,但没有成功。当我试图显示该值时,控制台上显示了一个“未定义” 你们知道吗 编辑:视图还有一个带有ng click指令的按钮,该指令触发控制器的功能,我尝试在其中获取我的值。该值将自动添加到$scope,但您必须在输入元素中键入一些内容 也
$scope.data=[]
和$scope.data.push($scope.id)
的方法来创建一个包含作用域值的数组,但没有成功。当我试图显示该值时,控制台上显示了一个“未定义”
你们知道吗
编辑:视图还有一个带有
ng click
指令的按钮,该指令触发控制器的功能,我尝试在其中获取我的值。该值将自动添加到$scope
,但您必须在输入
元素中键入一些内容
也就是说,你需要触发一些东西来获得这个值。例如,您在此处有注释//在此处获取范围值
——这将在控制器初始化后立即触发,并且不再调用;所以,在那个时候它将记录为未定义。但是,如果将其设置为按钮单击或其他方式,您将看到它可用:
<div ng-controller='ctrl'>
<input type='text' ng-model='id'>
<button ng-click="logId()">Log ID</button>
</div>
现在在输入中键入一些内容并单击按钮。如果您确实需要在阵列中使用它,只需在控制器中执行以下操作:
module.controller('ctrl',['$scope', function ($scope) {
$scope.logId = function() {
console.log($scope.id);
}
}]);
$scope.data=[0]代码>
而在HTML中呢
它将自动填充该数组值。当您在输入中键入内容时,id将始终位于数组的第一个位置
或者你可以用对象来处理它
在控制器中:
$scope.data={}代码>
在HTML
中,您是否在输入中键入了任何内容?
?我键入了一些内容,并且(我没有在原始帖子上写下它)我有一个按钮,带有一个链接到控制器中某个函数的ng click
指令。编辑问题的标题,以便它说明您面临的问题,“只是想用AngularJS的ngModel做一些基本的事情”告诉我什么都没有。你不会问你的父母“我想用炉子做饭”…“好吧,问题是什么?你在做什么?有什么问题吗?”。我会在问题中添加ng单击。按原样发布代码“-不是一个密切的代表。。。小错误可能看起来像大问题。查看我的博客文章。它可能对你有用:嗯,我的错,我忘记提了。我在视图上有一个按钮,带有一个链接到控制器中某个函数的ng click
指令来触发它。我会把它添加到原来的帖子中!你能提供一个或那个不起作用的答案吗?我提供的代码工作得很好:@ArhyaaI在主视图中从angular.min.js
切换到angular.js
,并且工作正常。
<div ng-controller='ctrl'>
<input type='text' ng-model='id'>
<button ng-click="logId()">Log ID</button>
</div>
module.controller('ctrl',['$scope', function ($scope) {
$scope.logId = function() {
console.log($scope.id);
}
}]);