2016-01-13 80 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); 

範圍內是可用的,如果你是試圖從模塊或應用程序的範圍以外的地方獲取值,那麼你可能做錯了,而不是角度的方式,即使它是主要的應用程序控制器或鏈接功能,最好使用控制器或鏈接功能,並且你可以很好地推回任何不使用控制器的要求(聽起來像是一個不好或誤解的要求)。