По значениям из функции скрипта в поле ввода ng-модель выдает неопределенный Angular

0

Я использую карты Google в своем приложении, в которых я использую связанные с картами коды в теге скрипта, а после результата поиска он дает долготу, широту, и я получаю эти значения и показываю эти значения во входных данных

вот моя часть кода скрипта, которая передает lon и lat на вход

 document.getElementById('lat').value = place.geometry.location.lat();

    document.getElementById('lng').value = place.geometry.location.lng();

вот мой код HTML

<div class="from-group">
<li>Latitude: <input class="from-control" ng-model="formData.lat" id="lat"></li>
<li>Longitude: <input class="from-control" ng-model="formData.lng" id="lng" ></li>
<button class="btn btn-primary" ng-click="values()" id="idbtn" >Results</button>
</div>

но он дает undefined для ng-model = "formData.lng", и когда я ввожу что-то вручную, он отлично работает, но когда значения исходят из скрипта, он дает неопределенный

вот мой код контроллера

Sscope.formData={}; 
    $scope.values = function () {

    console.log($scope.formData.lat);
    console.log($scope.formData.lng);
};
Теги:

2 ответа

1
Лучший ответ

Когда вы передаете lat и долго от вашего javascript файла с помощью

document.getElementById('lat').value = place.geometry.location.lat();
document.getElementById('lng').value = place.geometry.location.lng();

Ng-модель не обновляется или не запускается,

пытаться

angular.element($('#myInputElement')).triggerHandler('input')

есть хороший пост здесь, что может помочь.

Вы можете использовать директиву google maps, такую как ng-map

  • 0
    понятия не имею, как использовать этот подход, но я использую другой способ $ scope. $ watch, но он не работает, нужно немного больше объяснений, чем x
0

Вам нужно установить переменную $scope с $apply.

var latElem = angular.element(document.getElementById('lat'))
var latScope = latElem.scope();
latScope.$apply("formData.lat=" + place.geometry.location.lat());

$apply оценивает угловое выражение и инициирует цикл дайджеста AngularJS для обновления структуры.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню