@@ -42,7 +42,7 @@ function formlyForm(formlyUsability, formlyWarn, $parse, formlyConfig, $interpol
4242 ${ getHideDirective ( ) } ="!field.hide"
4343 class="formly-field"
4444 options="field"
45- model="field.model"
45+ model="field.model || model "
4646 original-model="model"
4747 fields="fields"
4848 form="theFormlyForm"
@@ -140,7 +140,7 @@ function formlyForm(formlyUsability, formlyWarn, $parse, formlyConfig, $interpol
140140 const promise = field . runExpressions && field . runExpressions ( )
141141 if ( field . hideExpression ) { // can't use hide with expressionProperties reliably
142142 const val = model [ field . key ]
143- field . hide = evalCloseToFormlyExpression ( field . hideExpression , val , field , index )
143+ field . hide = evalCloseToFormlyExpression ( field . hideExpression , val , field , index , { model } )
144144 }
145145 if ( field . extras && field . extras . validateOnModelChange && field . formControl ) {
146146 if ( angular . isArray ( field . formControl ) ) {
@@ -261,7 +261,7 @@ function formlyForm(formlyUsability, formlyWarn, $parse, formlyConfig, $interpol
261261 const model = field . model || $scope . model
262262 $scope . $watch ( function hideExpressionWatcher ( ) {
263263 const val = model [ field . key ]
264- return evalCloseToFormlyExpression ( field . hideExpression , val , field , index )
264+ return evalCloseToFormlyExpression ( field . hideExpression , val , field , index , { model } )
265265 } , ( hide ) => field . hide = hide , true )
266266 }
267267 }
@@ -277,9 +277,8 @@ function formlyForm(formlyUsability, formlyWarn, $parse, formlyConfig, $interpol
277277 field . model = resolveStringModel ( expression )
278278
279279 $scope . $watch ( ( ) => resolveStringModel ( expression ) , ( model ) => field . model = model )
280- } else if ( ! field . model ) {
281- field . model = $scope . model
282280 }
281+
283282 return isNewModel
284283
285284 function resolveStringModel ( expression ) {
0 commit comments