我对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”中输入的值填充,但是没有发生,我在做什么错?

最佳答案

新答案:

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



旧答案:

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



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

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

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




希望这个答案对您有所帮助,如有任何问题,请告诉我。

建议:输入框允许使用数字和文本,要仅允许您添加指令的数字,请参阅此link

09-25 19:46