Angularjs 应用程序基金会:如何替换默认动态路由插件?

Angularjs 应用程序基金会:如何替换默认动态路由插件?,angularjs,angular-ui-router,zurb-foundation-apps,Angularjs,Angular Ui Router,Zurb Foundation Apps,Zurb的应用程序基础使用一种直接从每个视图创建路由的方法,它将解析所有HTML文件以找到这种标记结构: --- name: items url: /items controller: ItemCtrl --- 它将用于生成必要的角度动态路由代码,并使用gulp编译routes.js文件,该文件将包含以下内容: var foundationRoutes = [ { "name":"items", "url":"/items", "cont

Zurb的应用程序基础使用一种直接从每个视图创建路由的方法,它将解析所有HTML文件以找到这种标记结构:

---
name: items
url: /items
controller: ItemCtrl
---
它将用于生成必要的角度动态路由代码,并使用gulp编译
routes.js
文件,该文件将包含以下内容:

var foundationRoutes = [
    {
        "name":"items",
        "url":"/items",
        "controller":"ItemCtrl",
        "path":"templates/items.html"
    }
];
所以我的问题是,如果我想更改模板路径或重构我的应用程序,或者如果我需要angular的ui路由器更高级的使用,特别是状态。解析状态。视图,有没有办法用
$stateProvider
实例替换内置的动态路由插件,而不破坏F4A的任何其他内置组件



更新:这个特殊的插件叫做前端路由器,这是。

这个解决方案解决了我的问题:

通过@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>
对于您以前拥有的每个路线/模板,您需要一个
.state
条目。 在本例中,前面的零件如下所示:

---
name: yourstate
url: /yoururl
controller: YourController
---

注意:动画也可以添加到
状态
(我猜是在版本1.1之后):

---
name: yourstate
url: /yoururl
controller: YourController
---
$stateProvider
  .state('home', {
    url: '/',
    templateUrl: 'templates/home.html',
    animation: {
      enter: 'slideInDown',
      leave: 'fadeOut'
    }
  });