2015-12-11 2 views
3

Я обновляю начальные значения моей модели после запроса на получение, но не обновляет начальные значения моей модели. Если я использую кнопку для вызова vm.options.updateInitialValue();, она работает. Это известная ошибка?Обновить начальное значение после запроса

jsonService.getJSON().then(function(response){ 
       vm.model = response.data[0]; 
       vm.options.updateInitialValue(); 
     //console.log(vm.options.updateInitialValue); 
     }); 

Пример можно найти здесь: https://jsbin.com/doyitaf/4/edit?js,console,output

Нажмите кнопку сброса и сбросит поле опустошить вместо имени извлеченного через фабрику.

+0

Где находится метод updateInitialValue()? – tommy

+0

Что вы имеете в виду? Вы можете найти метод по строке 31 и строке 38 – glarkou

ответ

2

Лучшее решение - подождать, чтобы скомпилировать форму до прибытия модели. Хороший подход к этому является использование ng-if="vm.model" на форме, как this

<form ng-submit="vm.onSubmit()" name="vm.form" novalidate ng-if="vm.model"> 
    <formly-form model="vm.model" fields="vm.fields" options="vm.options"> 
    <button type="submit" class="btn btn-primary submit-button" ng-disabled="vm.form.$invalid">Submit</button> 
    <button type="button" class="btn btn-default" ng-click="vm.options.resetModel()">Reset</button> 
    </formly-form> 
</form> 
<div ng-if="!vm.model"> 
    Loading... 
</div> 

Удачи.

+0

Спасибо. Это должно работать :) – glarkou

Смежные вопросы