使用angularJS获取值输入

Get value input with angularJS

本文关键字:输入 获取 angularJS 使用      更新时间:2023-09-26

我必须使用AngularJS获得输入文本的值,但不使用Controller。我怎样才能得到这个值?我看到了这些帖子,但使用了.controller链接后

您可以使用此代码,带有angular.element:

angular.element(document.querySelector('#your_input_tag_id')).val();

或者,使用简单的jQuery:

$('#your_input_tag_id').val();

使您的输入成为一个模型,该值将始终作为模型可用

<input type="text" ng-model="myModelName">

然后您的值将在您的模块范围内作为myModelName 可用

console.log('value = ' + $scope.myModelName);

,如果你试图从模块或应用程序范围之外的其他地方获取值,那么你可能做错了,而不是角度角度,实际上最好使用控制器或链接函数,即使它是主应用程序控制器或链接功能,而且你完全可以拒绝任何不使用控制器的要求(这听起来像是一个糟糕或误解的要求)。

与其在DOM中查询元素(这不是很有角度——请参阅如果我有jQuery背景,我如何"在AngularJS中思考"?),不如在指令中执行DOM操作。您可以在链接功能中使用该元素。

所以在你的myDirective 中

return { link: function (scope, element, attr) { element.html('Hello world'); } }

如果必须在指令之外执行查询,则可以在现代浏览器中使用querySelectorAll

angular.element(document.querySelectorAll("[my-directive]"));
$('#your_input_tag_id').val();

但是,您需要使用jquery来支持IE8和向后

angular.element($("[my-directive]"));