Javascript 局部AngularJS路线

Javascript 局部AngularJS路线,javascript,angularjs,backbone.js,angular-routing,Javascript,Angularjs,Backbone.js,Angular Routing,我一直在编写BackboneJS,并使用BackboneJS和AMD成功构建了大型项目 我现在正在考虑使用AngularJS,并且已经在AMD上得到了一个实现,到目前为止,我已经构建了一些非常舒适的控制器和服务 唯一的问题是,我们构建了很多应用程序,这些应用程序需要针对不同的地区进行本地化。正因为如此,我已经成功地配置了角度平移,它工作得很好 Angular Translate不支持创建本地化url路由,这是我在BackboneJS中通过动态更新routes对象轻松实现的 有人能给我指出一篇文章

我一直在编写BackboneJS,并使用BackboneJS和AMD成功构建了大型项目

我现在正在考虑使用AngularJS,并且已经在AMD上得到了一个实现,到目前为止,我已经构建了一些非常舒适的控制器和服务

唯一的问题是,我们构建了很多应用程序,这些应用程序需要针对不同的地区进行本地化。正因为如此,我已经成功地配置了角度平移,它工作得很好

Angular Translate不支持创建本地化url路由,这是我在BackboneJS中通过动态更新routes对象轻松实现的


有人能给我指出一篇文章或帖子的正确方向吗?关于如何使用AngularJS实现这一点。一直在谷歌搜索,但似乎找不到任何东西

因此,无论这是否是您的最佳解决方案,我将解释我们在使用哑角应用程序时采用的一种方法,该应用程序需要在后端定义路由。因此,在运行时,我们的应用程序不知道用户访问的URL,我们所做的是:

  • 调用定义我们的应用程序URL的服务
  • 验证检索到的URL
  • 调用
    $route.reload()
    从本质上重新启动应用程序(它实际上并没有重新启动应用程序,只是再次运行路由解析器)
然后,我们根据应用程序的功能定义路由,例如:
http://foo.bar/product/:slug
。因此,如果用户在
http://foo.bar/product/foobar
运行时的应用程序不知道是否存在
foobar
。这使我们能够保持UI的沉默,并在后端定义路由;因此

  • 在路由配置中设置基本路由,例如
    /product/:slug
    /page/:slug
    ,等等
  • 创建一个工厂,该工厂保存一个布尔变量,即应用程序是否加载了本地化数据;如果为false,则您的
    产品
    页面
    等。。。控制器将在其
    init
  • 在你的基地控制器加载你的定位数据,验证它,等等。。。一旦您满意了,您就可以运行
    $route.reload()
    ,这一次将工厂标志设置为true
  • 您的
    产品
    页面
    等。。。控制器将再次被调用,但出厂标志将为true,然后它们现在可以引用加载的本地化数据
  • 利润

  • 希望这听起来不会很痛苦,这是一个优雅的解决方案,效果非常好。只需确保您有一个好的礼貌加载程序。

    您是在运行时进行本地化,还是构建本地化应用程序并单独部署?我通过从外部文件检索url和url格式在运行时进行本地化。因此,我办公室的用户可以在xml/json文件中以公认的格式进行本地化翻译。目前,我有一个检索json翻译内容的服务,然后我尝试在控制器中的$route.routes对象中动态设置这些路由,但URL不起作用…感谢您的回答。在从服务器获取内容时设置路由方面,我当前调用$route.routes['/'+route.url]={controller:“MainController”,templateUrl:'views/'+route.template};url和templateUrl是从服务器传回的值。这是对的吗?很抱歉反应太晚了。因此,我们的想法是为您的每一部分内容创建抽象路由,例如
    /product/:productSlug
    将指向您的
    产品控制器partial.html
    ,然后在
    产品控制器中使用
    $routeParams.productSlug
    ,对照加载的内容检查它,然后确定此项目是否存在。我们所做的是利用
    .resolve()
    来检查具有相同概念的多个路由,例如获取一个base和id,并根据API或加载的配置进行检查。谢谢Ahmed。我仍然觉得我的脚有点棱角分明,但我会看看这个,看看我是否能找到工作!感谢这个Ahmed,更近了一步,尽管“产品”这个词在德语中可以是“produkt”,在西班牙语中可以是“produkt”,所以因为我必须设置顶级页面以将其映射到模板url,那么我认为我无法本地化url的第一部分是对的吗?好吧,这一切都取决于你怎么做。Product不必是一个单词,它可以是P或1,例如,您可以执行/P/:id/:Product/:slug,so/P/123/producto/chorizo