0

2 つの div があります。最初の div には 2 番目の div が含まれています。含まれている div には独自のコントローラーがあります。コンテナー内のアイコン ボタンをクリックすると、含まれている div の可視性に影響を与える変数が変更されます。

次のようになります。

<div ng-controller="BarController">
    <div class="navbar navbar-default navbar-fixed-top">
        <div class="container-fluid">
            <div class="col-lg-2 page-title">My Page</div>
            <div class="col-lg-10">
                <span class="actions">
                    <i class="fa fa-lg fa-download fa-inverse" tooltip="Download"
                       ng-click="showSecondaryBar=!showSecondaryBar"></i>
                </span>
            </div>
        </div>
    </div>
    <div class="download navbar download-in download-out"
         ng-class="{'myhidden': !showSecondaryBar}"
         ng-cloak>
        <div class="col-lg-offset-4 col-lg-4 form-inline form-group" ng-controller="TagsController">
            <div class="download-label col-lg-6">
            <label>Download by tags:</label>
            </div>
            <div class="download-tags col-lg-6">
            <tags-input class="bootstrap" spellcheck="false" min-length="1" ng-model="tags" add-from-autocomplete-only="true">
                <auto-complete source="loadTags($query)" min-length="1" load-on-down-arrow="true"
                               load-on-focus="true" max-results-to-show="5"
                               highlight-matched-text="false"></auto-complete>
            </tags-input>
                </div>
        </div>
    </div>
</div>

ng-tags-input<tags-input>から取得され、アイコン ボタンがクリックされるたびに既に入力されているタグをリセットしたいと思います (これにより、ng-tags-input を含む div の可視性が変更されます)。

問題は、TagsControllerデータ ( tags) を含む があり、このデータが に表示されないため、配列をBarControllerリセットして空にする方法がわからないことです。tags

サービスを利用しようと思ったのですが、カップリングが多すぎます。TagsControllerクリック時に呼び出される関数が必要です。しかし、別のコントローラーからそれを行う方法がわかりません

4

2 に答える 2