2015-11-23 2 views
0

У меня есть страница, которая будет скрывать/показывать дополнительные элементы при выборе опции:angularjs чистого поля подложки, когда поле ввода скрывает

<div ng-app> 
    <div ng-controller="ctrl"> 
     opt: <select ng-model="model.opt" ng-options="item.id as item.text for item in model.opts"></select> 
     <br/> <span ng-show="model.opt > 1"> 
     alt: <input type="checkbox" ng-model="model.alt" /> 
     </span> 

     <div> <pre>{{ model | json }}</pre> 

     </div> 
    </div> 
</div> 

http://jsfiddle.net/v7wsdj74/

Как я могу настроить, чтобы получить уведомление, когда " ng-hide "оценивается так, что скрытые поля модели могут быть возвращены к некоторым значениям по умолчанию (в этом случае null)?

Thanks

ответ

0

Что вы можете сделать, это сбросить модель на изменения:

<select ng-model="..." ng-options="..." ng-change="model.alt = null"></select> 

https://jsfiddle.net/bfrola/wzpha8c3/

Вы также можете определить более сложную функцию сброса и использовать ng-change="reset()". Надеюсь это поможет.

+0

Я, вероятно, зайду с функцией сброса, поскольку он может быть более гибким в других контекстах поля и что именно изменилось. Спасибо за помощь – Mike

1

Возможно, что-то вроде этого?

scope.$watch('myParameter', (value) => { 
    // if myParameter is false set it to null? 
} 
+0

Я, вероятно, вернусь к чему-то подобному или, возможно, массирую данные, прежде чем действовать на него. – Mike

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