2017-09-29 29 views
1

我與AngularJS有點小白我的下一個DIV:集 '價值' 與AngularJS功能輸入

<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; 
       } 
      }; 
     } 

我想納克輸入-model ='telefono.tras'獲得已填入輸入的值ng-model =「telefono.numero」但這不會發生,我做錯了什麼?

回答

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

+0

謝謝那仁,我是非常有益的,但現在我後悔了我問這個問題。假設我需要用函數設置輸入:telefonoCodificado? –

+0

@HéctorCapulínPatiño你的意思是這樣嗎? [示例](https://jsfiddle.net/ynxwmyum/),請確認我更新我的答案的正確性 –