同じコントローラーによって制御される2つのdivを作成すると、Angularのコントローラーがビューの更新を停止しているように見えます。
これを実証するために、必要最低限の例をまとめました。ここでサンプルをJSFiddleで表示するのが最も簡単ですが、以下のコードも投稿しています。
HTML
<div ng-app='App'>
    <div ng-controller="MyCtrl">
        <form>
            <input type="text" ng-model="search.query"></input>
            <button ng-click="search.submit()">Submit</button>
        </form>
    </div>
    <div ng-controller="SomeOtherCtrl">
        {{sampleText}}
    </div>
    <div ng-controller="MyCtrl">
        <button ng-click="search.reset()">Reset Form</button>
    </div>
</div>
JS
var app = angular.module('App',[]);
function MyCtrl($scope)
{
    $scope.search = {
        query : 'foobar',
        submit : function() {
            this.query = 'Submitted';
            console.log(this.query);
        },
        reset : function() {
            console.log('resetting');
            this.query = '';
        }
    };
}
function SomeOtherCtrl($scope) {
    $scope.sampleText = 'other controller text';
}        
送信ボタンは正常に機能しますが、[リセット]ボタンをクリックするとresetting、コンソールにログインしているのが表示されますが、ビュー(フォーム入力)が更新されません。
なんでそうなの?私が取り組んでいる現在のプロジェクトでは、間にある特定のHTMLが別のコントローラーに属しているため、これを実行する必要があります。どうすればこれを回避できますか?