2016-01-13 69 views
0

我必须使用AngularJS获取输入文本的值,但不使用Controller。 我如何得到这个值? 我看到这个帖子,但使用.controller link post使用angularJS获取值输入

+0

你可以使用angular.element:https://docs.angularjs.org/api/ng/function/angular.element – joaumg

+0

只是好奇:你为什么不使用控制器? –

+0

我们不能使用控制器。项目要求.... – AlvaroGlez

回答

1

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

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

,或者用简单的jQuery:

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

这是正确的。 –

0

而不是查询DOM元素(如果我有jQuery背景,请参阅我如何“在AngularJS中思考”),您应该在您的指令中执行DOM操作。该元素在您的链接功能中可用。

在myDirective

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

如果必须执行的指令之外的查询,则有可能在现代的browers

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

但是你需要使用querySelectorAll

所以使用jquery支持IE8并向后退出

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

让你输入一个模型和价值永远是可作为模型

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

,然后你的价值将你的模块作为myModelName

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

范围内是可用的,如果你是试图从模块或应用程序的范围以外的地方获取值,那么你可能做错了,而不是角度的方式,即使它是主要的应用程序控制器或链接功能,最好使用控制器或链接功能,并且你可以很好地推回任何不使用控制器的要求(听起来像是一个不好或误解的要求)。