• 4.1 Routing -- Introduction


    一、Routing

    1. 当用户与应用程序交互时,它会经过很多状态。Ember.js为你提供了有用的工具去管理它的状态和扩展你的app。

    2. 要理解为什么这是重要的,假设我们正在编写一个Web应用程序来管理一个博客。如:是当前登录的用户吗?他们是管理员用户吗?他们在看什么?是设置屏幕打开?他们正在编辑当前的提交的内容吗?

    3. 在Ember.js,每一个应用程序中可能的状态是由一个URL表示的。因为我们上面问的所有的问题--我们已经登录了吗?我们在看什么?--通过路由处理器封装的网址,回答他们是既简单又准确。

    4. 在任何时候,你的应用程序有一个或多个活动路由处理器。因为下面两个原因之一活动的处理程序会改变:

    • 用户和一个组件交互,它生成一个事件导致URL改变。
    • 用户手动改变URL或者在页面第一次被加载时。

    5. 当当前的URL发生变化,新的活动路由处理程序可能执行一个或多个以下内容:

    • 有条件的重定向到一个新的URL。
    • 更新controller使它表示一个特定的model
    • 改变template,或者在存在的outlet中放置一个新的template

    二、Logging Route Changes

    随着你的app复杂性的增加,它可以帮助你清楚的看到router下什么东西正在进行。为了让Ember把过度事件输出到log,修改项目的配置文件如下:

    config/environment.js

    ENV.APP.LOG_TRANSITIONS = true;

    三、Specifying A Root URL

    如果你的Ember app是从同一域提供的多个web应用程序之一,对你的Ember app来说它可能需要向router指出什么是root URL。默认的,Ember将认为它是来自你的域的根路径。

    例如,如果你想要从http://emberjs.com/blog/为你的博客的应用程序提供服务,有必要指定root URL/blog/

    这可以通过设置路由器中的rootURL来实现:

    app/router.js

    Ember.Router.extend({
      rootURL: '/blog/'
    });
  • 相关阅读:
    基于WEB的仓库管理系统设计与实现
    基于SSH的医院在线挂号系统设计与实现
    Java新闻发布管理系统设计与实现
    基于java记账管理系统设计与实现
    基于java电脑彩票销售管理系统的设计与实现
    基于JAVA的推箱子游戏系统设计与实现
    银行柜员业务绩效考核系统的设计与实现
    医院管理住院系统设计与实现
    陶瓷工厂的进销存管理系统设计与实现
    搜索引擎的设计与实现
  • 原文地址:https://www.cnblogs.com/sunshineground/p/5153559.html
Copyright © 2020-2023  润新知