从 angular js 中的 getElementById 获取值

Get value from getElementById in angular js

查看

    <button  class="ion-ios-close-outline" ng-click="change()"></button> 

           <label  class="item item-input">  
                <input  id='test' type="text"  ng-value="77"/> 
            </label>

控制器

 $scope.change = function () {  
            var x=angular.element(document.getElementById("test"));                
            alert(x.value);

        };

输出为undefined。 我在这里做错了什么? 请帮忙。

在您的输入中使用 ng-model;

设置ng-model='test'

<input  id='test' type="text" ng-model='test' ng-value="77"/> 

以及更改功能集

var x=$scope.test;
        alert(x);

已编辑

var a = angular.element(document.getElementById('t'));
var attr = a[0].attributes;
var value = attr.getNamedItem("ng-value");

console.log(value.value);

angular.element returns jQlite 的包装器。它类似于 jquery。所以不支持值。

要么使用

x.val()

x[0].value

无论哪种方式,我都建议不要在控制器中使用此类更改。它应该只在指令中完成。 您应该使用输入框模型来访问控制器中的这些值。

我认为你的解决方案很糟糕。 Angular API 允许使用数据绑定。 因此,您应该在输入组件中使用 ng-model 例如:

<button  class="ion-ios-close-outline" ng-click="change()"></button> 
<label  class="item item-input">  
    <input  id='test' type="text" ng-model="test"/> 

$scope.test = 77;
$scope.change = function () {  
    alert($scope.test);
};