Я использую angularjs для заполнения группы входов внутри формы.ввод текста с «ngModel» показывает его значение только после дефокусировки
Для заполнения этих входов я использую данные json, но он работает, однако, входы не отображают/отображают значения до тех пор, пока я не выберу вход, а затем не щелкните на любом другом месте страницы (расфокусировать).
это мой код (JavaScript/angularjs):
var app = angular.module('myApp', []);
app.controller('registerController', function($scope,$timeout,connectWS) {
$scope.start = function(){
connectWS.getPerson(2,function(response){
var data = JSON.parse(response.response.result.result); //<----JSON data
$scope.register=data; //<-----value assignation
});
};
});
app.factory('connectWS', function($http){
return {
getPerson: function(idVal,callback){
var formData = '{'+
'"data": {'+
'"id":"'+idVal+'"'+
'}'+
'}';
var request = {
'function': 'getdata',
'parameters' : formData
};
var op = gapi.client.request({
'root': 'https://script.googleapis.com',
'path': 'v1/scripts/' + SCRIPT_ID + ':run',
'method': 'POST',
'body': request
});
op.execute(callback);
}
};
...
...
function checkAuth() {
gapi.auth.authorize({
'client_id': CLIENT_ID,
'scope': SCOPES,
'immediate': true
}, function(authResult){
var scope = angular.element(document.getElementById("registerEditionDiv")).scope();
scope.$apply(function() {
scope.start();
});
});
}
код запуска после этого:
<script src="https://apis.google.com/js/client.js?onload=checkAuth"></script>
это мой код (HTML/angularjs):
<div class="regiRow"><p>Nombre:</p> <input type="text" id="name" ng-model="register.name"/></div>
<div class="regiRow"><p>Fecha de nacimiento:</p> <input type="text" id="birthdate" ng-model="register.birthdate"/></div>
вы можете поделиться определением функции connectWS.getPerson? Я хотел бы проверить это в jsfidle. И вы называете функцию $ scope.start? –
Hola: Пожалуйста, создайте jsfiddle, я не вижу ничего плохого в вашем коде. – pdorgambide
Возможно, проблема в том, что он определяет $ scope.start как функцию, но не называет его anywere внутри кода. Он должен быть $ scope.start = connectWS.getPerson (.....); –