我对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-model
(telefono.numero
)复制到变量telefono.tras
,只需分配相同的变量即可。像这样
假设您需要为某些函数填充telefono.tras
,然后在调用该函数之前,将telefono.numero
值分配给telefono.tras
。
因此,如果要填充telefono.tras
,可以使用$watch()
方法执行此操作!
$scope.$watch('telefono.numero', function(newValue, oldValue){
$scope.telefono.tras = newValue;
})
希望这个答案对您有所帮助,如有任何问题,请告诉我。
建议:输入框允许使用数字和文本,要仅允许您添加指令的数字,请参阅此link