Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs ngRoute/$routeProvider如何保存视图和控制器?_Angularjs - Fatal编程技术网

Angularjs ngRoute/$routeProvider如何保存视图和控制器?

Angularjs ngRoute/$routeProvider如何保存视图和控制器?,angularjs,Angularjs,所以我写了一个应用程序,有几个路线: 1) 显示聊天信息、用户列表等并通过控制器保持最新状态的一种 2) 游戏页面 3) 帮助页 它工作正常,但当单击#/game页面的链接时,它实际上会处理聊天视图、控制器等。当我单击#/chat的链接时,它会重新加载它,但现在必须重新加载所有视图和数据,这使它变得缓慢和闪烁 我真的很想隐藏那些不活跃的页面的视图,所以当我在它们之间切换时,它是即时的,所有的东西都在那里 有人能推荐一条前进的道路吗 谢谢为ngRoute重新加载视图和控制器是正常行为 对于您的情况

所以我写了一个应用程序,有几个路线: 1) 显示聊天信息、用户列表等并通过控制器保持最新状态的一种 2) 游戏页面 3) 帮助页

它工作正常,但当单击#/game页面的链接时,它实际上会处理聊天视图、控制器等。当我单击#/chat的链接时,它会重新加载它,但现在必须重新加载所有视图和数据,这使它变得缓慢和闪烁

我真的很想隐藏那些不活跃的页面的视图,所以当我在它们之间切换时,它是即时的,所有的东西都在那里

有人能推荐一条前进的道路吗


谢谢

为ngRoute重新加载视图和控制器是正常行为


对于您的情况,您可能可以创建自己的路由器,捕获rout param,并使用ng hide

隐藏/显示所需的bloc。视图是缓存的,因此不会重新加载。如果希望数据在不断变化的视图之间保持不变,则不要将该数据附加到视图的作用域,而是附加到外部作用域或外部作用域中的对象


不过,每次在视图之间切换时,视图仍然会被编译。如果这是一个问题,那么我建议使用。

我希望有一个更“标准”的方法来解决这个问题。。如果是这样的话,那么获取url的#参数来决定应该显示和隐藏什么的最佳方法是什么?@MichaelBaldry,您可以设置
$routeProvider config
以具有
重新加载搜索:false
——然后,在控制器内部,您可以查看
$location.search()//返回?query=作为散列的字符串
;将查询值分配给
$scope
;在类似于
ng show
的节目中观察它。