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