使用AngularJS函数设置'value'输入

时间:2017-09-29 18:22:00

标签: javascript angularjs html5 input set

我和AngularJS有点不同我有下一个div:

<div ng-app="" ng-controller="telController">

        Teléfono: <input type="text" ng-model="telefono.numero" ><br>
        <input type="text"  ng-model="telefono.tras"  > 
        <br>
        El telefono es: {{telefono.telefonoCodificado()}}

    </div>

angularjs函数是:

function telController($scope) {
            $scope.telefono = {
                numero: "",
                telefonoCodificado: function() {
                    var x;
                    x = $scope.telefono;

                    var parte1;
                    parte1= $scope.telefono.numero;
                    var telCodificado = parte1.substring(0, 3)+"-"+parte1.substring(3, 6)+"-"+parte1.substring(6, 10);

                    return "A) "+x.numero+" <<>> "+ telCodificado;
                },
                tras : function(){
                    var y; 
                    y = $scope.telefono.numero;
                    return y;
                }
            };
        }

我希望 ng-model ='telefono.tras'的输入填充输入中输入的值 ng-model =“telefono.numero “但是没有发生,我做错了什么?

1 个答案:

答案 0 :(得分:1)

新答案:

在对问题进行更新后,最好使用ng-change更新其他变量。

JSFiddle Demo

旧答案:

您好不需要编写单独的函数来将ng-modeltelefono.numero)复制到变量telefono.tras,您只需分配相同的变量即可。像这样。

JSFiddle Demo

假设您需要为某些函数填充telefono.tras,然后在调用函数之前,将telefono.numero值分配给telefono.tras

因此,如果您想填充telefono.tras,可以使用$watch()方法执行此操作!

$scope.$watch('telefono.numero', function(newValue, oldValue){
    $scope.telefono.tras = newValue;
})

JSFiddle Demo

我希望这个答案很有用,如果有任何问题,请告诉我。

建议:输入框允许数字和文字,只允许添加指令所需的数字,请参阅link