问题标签 [angular-ui-router]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - 如何将 ng-animate 与 ui-view 而不是 ng-view 一起使用?
我正在使用 angular-ui-router 和 angularJS v1.2,并希望实现自定义页面转换。
如何将 ng-animate 与 ui-view (来自angular-ui-router)而不是 ng-view (这将是标准方式)一起使用?有关ng-view 的参考,请参阅AngularJS 1.2 中的 Remastered Animation 。
编辑:我尝试了两种不同版本的 angular:v1.2.0-rc.2 和 v1.2.0-rc.3,正如评论中所建议的那样,但似乎都没有成功。我想我可能做错了什么?
这是HTML:
和CSS:
我添加了前面提到的示例的JSfiddle。扩展这个示例以涵盖 ng-view 和 ui-view 会很好,但我不确定如何将 ng/ui-view 和部分内容放入 JSfiddle。
angularjs - 如何使用 $state.go toParams 和 $stateParams 发送和检索参数?
我正在使用 AngularJS v1.2.0-rc.2 和 ui-router v0.2.0。我想将引用状态传递给另一个状态,所以我使用toParams
of$state.go
像这样:
根据文档,这应该填充控制器$stateParams
上的toState
,但它是undefined
. 我错过了什么?
我创建了一个 plunk 来演示:
angularjs - angular-ui-router:在控制器中使用 $state 的依赖关系是什么?
这可能是一个非常简单的问题,但我在 ui-router 文档中找不到任何内容。我想调用该$state.go()
方法来更改控制器中的状态,但出现“$state not defined”错误。
为了能够使用 $state 及其方法,我需要对控制器施加什么依赖?
angularjs - 使用请求初始化 Angular 应用程序
在我的应用程序中,我需要发出几个请求,使用$http
并将数据存储在$rootScope
路由执行之前。有没有办法做到这一点?
javascript - 部分页面作为 Angular 中的子视图
我有以下问题要解决:
从本地菜单(左侧菜单)中,我可以选择子页面。典型场景。现在我想重新加载与本地菜单项相关的内容。在纯 Angular 中,我不知道实现它的标准简单方法。我可以手动从服务器获取标记并手动替换内容区域。有没有更好的办法?我用谷歌搜索并遇到了
然而,在我开始深入研究细节之前,也许您可以建议如何解决这个问题。甚至建议我是否可以使用 ui-router 解决此问题。
javascript - AngularJS - 带有 UI-Router 的动态路由
所以我在我很棒的 angularjs 驱动的单页应用程序中拥有了我功能齐全的静态路由器,现在我得到了使某些路由动态的任务。
说直到现在我有以下参数路径:
^/user/:userName
^/product/:productName
^/category/:categoryName
现在他们都需要响应 path ^/:slug
,这将调用一些后端 API 以获取与该 slug 对应的资源类型,并最终将请求转发到具有特定、和的controller
特定。resolve
templateUrl
abstract
data
有什么想法吗?
(编辑:我猜路由镜像(又名透明转发)可以实现相同的功能,其中在内部触发了请求之外的另一条路由,即使路由更改不公开可见。但我仍然不知道是否有任何这些在角度或ui路由器中是可能的......)
angularjs - $route.reload() 不适用于 ui-router
我已经切换到ui-router。一切都很顺利,除了一件事。在我的页面上,我有一个更改应用程序上下文的选择。无论如何,以前,当这个上下文发生变化时,我正在执行这段代码(特别是set方法):
和
正在做最重要的事情。它重新加载了页面。但是在切换到 ui-router 之后,$route.reload 什么也没做。我也没有在 ui-router API 中找到对应的。如何解决这个问题?
javascript - 在 AngularJS 和 ui-router 中遇到嵌套状态问题
嵌套状态有一些麻烦......
我有一个应用程序,它有几个页面(表示为页面模板)。所以,我真的需要使用嵌套状态。阅读文档和示例是无用的......
所以代码在这里。
这是我的状态配置:
这是我的 HTML 视图:
如您所见,我在此子状态中有一个状态“层”和一个子状态“layer.message”,我只想加载一个额外的模板,该模板被调用overlay
并将其包装在div
标签中,例如“state1”。但是我所有的尝试都失败了。firebug 调试工具显示模板是通过 GET 查询加载的。但它不会出现在 HTML 模型中,因此不会呈现。在“state1”中,一切正常。我相信我对嵌套状态做错了什么......有什么建议吗?
javascript - (ui-)router 中的 Angular-app、身份验证和解析器顺序
这个问题是指angular-app项目及其对用户进行身份验证的方式。
最初的实现通过在路由器上使用 resolve 子句来保护对某些 url 的访问。这看起来像:
});
在用户通过身份验证并获取项目(以防止 ui 闪烁)之前,不会呈现视图。如果用户未通过身份验证,则会弹出登录弹出窗口,在用户提交后,promise 将被解析并显示请求的页面。如果在 Projects.all() 调用中不需要 auth,这很好用。
这是服务器调用的日志:
对 angular_app/collections/projects 的调用即使对于未经身份验证的用户也是有效的。
就我而言,我有以下代码:
不同之处在于(除了我使用 ui-router 和 Restangular)api 调用必须经过身份验证。服务器日志如下所示:
请注意此处的 403 状态代码。效果是用户看到登录弹出窗口,进行身份验证但随后看到空白页面。我想这是因为数据获取承诺失败。
我的问题是 - 是否有可能强制承诺的顺序?我想首先检查用户是否经过身份验证,然后向后端发出调用等。或者我可以在这里使用任何其他解决方案吗?我正在学习 Angular,所以即使有一个简单的解决方案,对我来说也不是很明显。
angularjs - AngularJS reloadOnSearch 不起作用
在执行搜索并离开后,我希望用户能够返回搜索页面(通过在浏览器中回击)并保留当前的搜索参数。我开始意识到,为了做到这一点,必须更新页面 url 以包含有关页面的数据。通过研究,我发现我可以使用在路线中$location
进行更改时使用更新位置并强制页面不重新加载。reloadOnSearch
但是,由于某种原因,当我更改搜索参数 ( url?...
) 时,页面实际上会重新加载。知道如何修复它以防止重新加载吗?
路线.咖啡:
搜索.咖啡:
参考:
作为如何正确执行此操作的参考,我使用的是:https ://stackoverflow.com/a/12481175/1382588