小编sew*_*ewa的帖子

AngularJS - 使用子路径进行模板化

我对Angular.js很新,我似乎无法弄清楚如何解决我的问题.

该应用程序包含三个主要选项卡,也是顶级路由,即.

#/home
#/inbox
#/products
Run Code Online (Sandbox Code Playgroud)

当前的路由配置看起来像这样(coffeescript):

$routeProvider.
  when('/home', templateUrl: 'home.html').
  when('/inbox', templateUrl: 'inbox.html').
  when('/inbox/:thread_id', templateUrl: 'inbox.html', controller: 'MessagesCtrl').
  otherwise(redirectTo: '/inbox')
Run Code Online (Sandbox Code Playgroud)

现在,问题是收件箱视图.

收件箱视图(inbox.html)是一个拆分列模板,左侧是消息线程列表,右侧是所选线程的消息:

 --------------------------
| Navigation               |
 --------------------------
|         |                |
| Threads |    Messages    |
|         |                |
|         |                |
Run Code Online (Sandbox Code Playgroud)

#/inbox无论是否选择了某个线程,所有路由都应该可以看到线程列表.

从路径中可以看出,收件箱视图是一个单独的模板(inbox.html),在选择一个线程时和不选择线程时都会加载它.这使得Angular每次选择一个线程时都会重新渲染整个视图,这也会导致线程列表(向右)重新渲染并松开其滚动位置.

每当选择一个线程时,我想保持线程列表不再重新呈现,我似乎无法弄清楚如何组织我的路由/模板以实现这一点.

任何建议将不胜感激!

javascript angularjs

6
推荐指数
2
解决办法
7533
查看次数

标签 统计

angularjs ×1

javascript ×1