Zurb的 Apps for Foundation
使用的是一个特殊的插件,该插件可直接从每个视图创建路线,它将解析所有HTML文件以找到这种markdown结构:
---
name: items
url: /items
controller: ItemCtrl
---
这将用于生成必要的角度动态路由代码,并使用 gulp 编译routes.js
包含以下内容的文件:
var foundationRoutes = [
{
"name":"items",
"url":"/items",
"controller":"ItemCtrl",
"path":"templates/items.html"
}
];
所以我的问题是,如果我想更改模板路径或重构应用程序,或者是否需要对 Angle 的 ui路由器 进行更高级的使用,尤其是
state.resolve 和 state.views
,是否可以替换内置的动态路由?通过$stateProvider
实例插入插件而不会破坏其他F4A的任何内置组件?
更新: 特殊的插件 称为 Front Router
,这是它的Github存储库。
此解决方案解决了我的问题:
来自这个github问题页面的@escapedcat :
gulpfile.js
:注释掉FA路由器部分:
// Copies your app's page templates and generates URLs for them
gulp.task('copy-templates', ['copy'], function() {
return gulp.src('./client/templates/**/*.html')
// .pipe(router({
// path: 'build/assets/js/routes.js',
// root: 'client'
// }))
.pipe(gulp.dest('./build/templates'))
;
});
index.html
: 去除 routes.js
<script src="/assets/js/foundation.js"></script>
<!-- <script src="/assets/js/routes.js"></script> -->
<script src='//maps.googleapis.com/maps/api/js?sensor=false'></script>
<script src="/assets/js/app.js"></script>
app.js
:注释掉dynamicRouting模块并修改config部分:
angular.module('application', [
...
//foundation
'foundation',
// 'foundation.dynamicRouting',
// 'foundation.dynamicRouting.animations',
...
])
.config(
function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('yourstate', {
url: '/yoururl',
templateUrl: 'templates/yourTemplate.html',
controller: 'YourController',
resolve: {
// you can use resolve here, yay!
// promiseFooData: ['Restangular', function(Restangular) {
// return Restangular.one('foo').get();
// }]
}
});
})
.run(run)
;
您需要.state
为之前的每个路线/模板输入一个条目。在此示例中,之前的部分如下所示:
---
name: yourstate
url: /yoururl
controller: YourController
---
注意:动画也可以添加到state
(我想在1.1版之后) :
$stateProvider
.state('home', {
url: '/',
templateUrl: 'templates/home.html',
animation: {
enter: 'slideInDown',
leave: 'fadeOut'
}
});
问题内容: 角度ui路由器的示例演示在起始页面具有以下链接: “ ui-router”的完整网址为或 “关于”的完整网址为或 当我使用durandalJS时,存在一个限制,即默认URL只是“ /”,不能有“ / ui-router”。 Angular ui路由器插件有相同的限制吗? 问题答案: 请参阅此处,默认路由有一个“其他”选项。
问题内容: 用户单击“主页”时,可以选择启动器,还可以选择是否将其设置为默认值。问题在于,之后很难再次更改它。 为了解决这个问题,我添加了一个“重置首选启动器”来触发: 但是,此行仅在首选启动器选择了我的启动器后重置。我需要一个片段来清除首选的启动程序,因此,下次用户单击主页时,将再次获得选项。 问题答案: 这不是直接可能的,Android开发人员已声明他们不希望任何应用程序更改用户的偏好。但是,
我试图在登录过程中添加用户ip验证。如果用户的ip地址不在数据库中,应用程序应该拒绝身份验证。 问题:根据下面的设置,Auth.AuthenticationProvider()并没有替换默认的DaoAuthenticationProvider,而是将UserIpAuthenticationProvider添加为列表中的第一个AuthenticationProvider。 在用户名/密码组合不正确的
我希望有一个图像控制器,并允许单endpoint,例如: /图像/上载 这是我目前的做法,但这是正确的做法吗?是否存在某种:none关键字来禁用默认路由?或者我不应该使用资源,用其他的方法去做?
我想在我的子组件中有一个默认路由(使用设置),并自动将参数传递给它。我在文档中找不到如何做到这一点。我有一个具有以下路由的父组件: 以及子组件,其具有: 这当然会失败:我无法弄清楚如何将一些默认参数传递给第一个路由。我确实通过创建另一个没有参数的路由并将其用作默认值来启动它: 但这当然并不理想。到目前为止,我还没有找到比使用不带参数的路由,然后使用一些默认参数立即重定向更好的方法。难道没有更好的办
基于spring集成的转换器使用来自一个系统的消息,检查、转换并将其发送到另一个系统。 如果目标系统关闭,我们将停止入站适配器,但也希望在本地保留或转发当前“正在运行”的转换消息。为此,只需将消息从正常输出通道动态地重新路由到某个“备份”通道。 在文档中,我只找到了根据消息头路由消息的选项(因此,在流程之前的某个步骤中,一旦targer系统不可用,我将不得不动态添加这些消息),或者基于有效负载类型