V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
coolicer
V2EX  ›  JavaScript

angular 能不能多任务操作

  •  
  •   coolicer · 2015-05-25 16:49:49 +08:00 · 2934 次点击
    这是一个创建于 3506 天前的主题,其中的信息可能已经有所发展或是发生改变。
    之前用过angular做后台系统,但是有一天有人提出不能同时打开多个页面操作。其实我在做的时候也发现这个:

    1 当我去查询一个东西,然后再点这个去到详细页,然后返回,发现场景不能保留了。
    2 还有就是多任务,比如填一个表单时,我还要查看另一个页面。

    总的来说,在这些view的加载中,每次都会刷新了。有没有搞过
    11 条回复    2015-05-26 17:32:10 +08:00
    LT
        1
    LT  
       2015-05-25 16:59:11 +08:00
    页面现场还原? 在hash中带上当前页面的参数,然后返回的时候hash改变,根据当前hash把页面里面的数据(ui等)根据参数重新加载,就ok了
    至于你说的多任务,还真不知道你说的是什么意思
    EPr2hh6LADQWqRVH
        2
    EPr2hh6LADQWqRVH  
       2015-05-25 17:00:16 +08:00
    ui-route
    ui-view
    coolicer
        3
    coolicer  
    OP
       2015-05-25 17:04:19 +08:00
    @LT 就是可以同时打开多个页面操作。
    coolicer
        4
    coolicer  
    OP
       2015-05-25 17:05:54 +08:00
    @avastms 有没有结合这2个的例子
    LT
        5
    LT  
       2015-05-25 17:08:51 +08:00
    @coolicer 这个就更不懂了... 像2L说的,用ui-route , ui-view来搞吧, 至于有关表单控件的现场还原,我写了个angualr组件,不过有点丑,如果有时间可以去看下大概的思路:
    https://github.com/huyinghuan/angular-bind-hash
    learnshare
        6
    learnshare  
       2015-05-25 17:09:12 +08:00
    打开多个页面没问题啊,这是浏览器的功能,不是 App 的功能吧。

    要保存页面的状态,就要把状态和 URL 对应,要多详细就可以有多详细,这样就可以在历史记录里前进后退了。

    不过说回来,如果你的一个操作需要看两个页面来完成,那一定是应用逻辑有问题。(比如你要添加一个用户,但不知道用户组 ID 是什么,得让操作的人去其他页面复制过来。那为什么不给他一个 select 选择组呢?)
    LT
        7
    LT  
       2015-05-25 17:11:40 +08:00
    @coolicer demo在这  https://huyinghuan.github.io/angular-bind-hash/gh-pages/index.html
    填好表单后,可以刷新下页面看下效果
    airyland
        8
    airyland  
       2015-05-25 17:18:15 +08:00
    1. 用route参数来重现数据
    2. 新开个窗口
    qige023
        9
    qige023  
       2015-05-25 19:15:45 +08:00   ❤️ 1
    没有所谓Angular做不到的事情(除了兼容IE6/7这个真做不到),NG只是一种前端的架构方式,原生JS能做的,NG也能做。

    1.若需要保存现场,一是route通过解析url hash,二、比如要保存用户输入,那可以将用户的输入放入到cookie或local storage中,下次进入页面(url)的时候提前读取之

    2.多任务。Javascript是单线程的,不存在所谓多任务一说,想要是一个页面能显示两个窗口,这就是ui的设计或者交互的问题了,简单做的话直接 window.open 新开窗口就OK
    kongxianghe
        10
    kongxianghe  
       2015-05-26 10:06:51 +08:00
    体主是问在一个浏览器Window下打开多个tab并保持状态是吧,为什么不用ng-show?
    coolicer
        11
    coolicer  
    OP
       2015-05-26 17:32:10 +08:00
    @kongxianghe 此话怎
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2285 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:01 · PVG 00:01 · LAX 08:01 · JFK 11:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.