2

我正在使用 AngularJS 制作应用程序,并希望能够在“选项卡”之间切换并将不同的“部分”或 html 模板来回交换到面板/容器中(使用ngInclude)。

这是我的模板,它被包裹在一个ngView.

<div class="row">
    <div class="col-md-3">
        <div class="list-group" data-fixed-sidebar data-nav-control>
            <a href="#/analyze/option1" class="list-group-item" data-tab-route="/analyze/option1.*" >Analyze Option 1</a>
            <a href="#/analyze/option2" class="list-group-item" data-tab-route="/analyze/option2.*">Analyze Option 2</a>
            <a href="#/analyze/option3" class="list-group-item" data-tab-route="/analyze/option3.*">Analyze Option 3</a>
            <a href="#/analyze/option4" class="list-group-item" data-tab-route="/analyze/option4.*">Analyze Option 4</a>
        </div>
    </div>
    <div class="col-md-9">
        <div class="panel panel-default">
            <div class="panel-body">
                <div ng-include="child"></div>
            </div>
        </div>
    </div>
</div>

问题是,当我单击其中一个链接(例如,路由到的第一个链接#/analyze/option1)时,它将重新加载我的控制器并失去对它当前状态的跟踪。我正在使用$route并且$routeProvider更喜欢继续使用此模块的解决方案。

4

1 回答 1

1

控制器是短暂的。在我看来,正确的方法 (TM) 是将必要的状态放入anservice中,该状态以单例方式初始化,并将在路由更改之间保留状态。

于 2013-11-13T22:14:02.067 回答