Вот простая демонстрация того, чего я изо всех сил пытаюсь достичь.
<div ng-controller="MyCtrl">
<input type="button" ng-click="a=!a" value="toggle a"/>
<div ng-if="a">
<input type="text" ng-model="del.a1" />{{del}}
</div>
<input type="text" ng-model="del.a2" />
{{del}}
</div>
Первоначально значение del равно {}, а ng-if равно false, свойство a1 находится в состоянии ng-if. Прецедент :
шаг 1: переключите ng-if на true, чтобы a1 был виден
шаг 2: введите некоторое значение в a1 (вы можете в любое время ввести значение в свойство a2)
шаг 3: теперь, если я снова переключу ng-if на false, я ищу, что свойство a1 должно быть удалено из модели (т.е. я просто хочу, чтобы angular связывал те модели, которые видны в DOM), например это
Вот FIDDLE для приведенного выше теста.
Я предполагаю, что проблема связана с моделью, используемой в качестве объекта. но мне нужно решение в модели как объект только потому, что я сделал много кодирования на основе этого.
Надеюсь, я ясно с вопросом.
Пожалуйста помогите
$watch
a
и при необходимости удалить/сбросить свойствоa1
наdel
. Если это не решит вашу проблему, рассмотрите возможность обновления вашего вопроса с более подробной информацией. - person Jack   schedule 26.11.2014