0

我正在使用angularJs 1.6,並且在ng-model上有兩個html輸入類型元素。 在ng-click我對控制器傳遞這些價值通過函數到我的控制器ng-model不能按預期工作

<div> 
    <input type="text" placeholder="From" id="fromlocation" name="mfrom" data-ng-model="mfrom"> 
    <input type="text" placeholder="To" id="tolocation" name="mto" data-ng-model="mto"> 
    <input type="button" class="button" value="Estimate" data-ng-click="findDistance(mfrom,mto)"> 
</div> 

功能

$scope.findDistance=function(source, destination) 
{ 
    alert("source " + source + "destination " + destination); 
    $scope.errorStatus = "false"; 

    if ((source == undefined || source == null || source == '') || (destination == undefined || destination == null || destination == '')) 
    { 
     $rootScope.setInvalidError(); 
    } 
    else 
    { 
     $scope.source_address = source; 
     $scope.destination_address = destination; 
     $scope.initMap(); 
     $scope.getEstimatePrice(source, destination); 
    } 
} 

問題這裏,當我在控制器上的功能調試我沒有得到一個功能輸入類型中輸入的完整文本。只有4個字符在功能上傳輸,並且在某些時候它可以工作,但有時不確定。我不知道確切的問題是什麼。

+0

你在$ scope.initMap()函數做一些這樣的事情

?可能你正在做的是修剪數據。 –

+0

我想,你的函數沒有定義爲參數。嘗試重寫它像這樣和$ scope.findDistance = function(){使用$ scope.mfrom和$ scope.mto作爲參數} –

+0

@ RakeshBurbure通過這個我是iinitializing谷歌地圖api,但在此之前,我正在檢查警報中的值與輸入的不一樣。意味着它也可以修剪一些時間達到2個字符。 – user3199286

回答

0

試試這個:

<div> 
    <input type="text" placeholder="From" id="fromlocation" name="mfrom" data-ng-model="mfrom"> 
    <input type="text" placeholder="To" id="tolocation" name="mto" data-ng-model="mto"> 
    <input type="button" class="button" value="Estimate" data-ng-click="findDistance()"> 
</div> 

這樣,你將有訪問處理函數內的輸入變量。另外,請嘗試檢查$scope.mfrom & $scope.mto是否在另一個控制器的功能中被修剪(可能?)。

$scope.findDistance=function() 
{ 
    let source = $scope.mfrom; //direcly obtained 
    let destination = $scope.mto; 
    //The rest of the code 
} 
+0

試過但得到了相同的結果 – user3199286

0

嘗試在HTML

<div> 
    <input type="text" placeholder="From" id="fromlocation" name="mfrom" ng-model="mfrom"> 
    <input type="text" placeholder="To" id="tolocation" name="mto" ng-model="mto"> 
    <input type="button" class="button" value="Estimate" ng-click="findDistance(mfrom,mto)"> 
</div> 

上JS

$scope.mfrom = 'value1'; 
$scope.mto = 'value2'; 
+0

試過,但也是相同的結果。 – user3199286