在Ember.js中如何重新加载当前路由?

在开发Ember.js应用时,我们经常需要重新加载当前路由或重新获取数据以更新视图。本文将介绍如何在Ember.js中实现这一功能。

方法一:使用refresh方法

在Ember.js中,每个路由都有一个名为refresh的方法,它可以重新加载当前路由及其模板和控制器。我们可以通过在当前路由的控制器中调用this.refresh()来实现此目的。

示例代码:

------ ---------- ---- --------------------

------ ------- ----- ----------------- ------- ---------- -
  -------------- -
    ---------------
  -
-

在上面的示例代码中,我们创建了一个名为refreshRoute的方法,在该方法中调用了this.refresh()。我们可以在模板中使用{{action}}助手将其与按钮等元素相关联。

------- -------- ----------------------- ------- --------------

方法二:使用transitionToRoute方法

另一个重新加载路由的方法是使用transitionToRoute方法。与refresh方法不同,transitionToRoute方法会强制重新执行beforeModelmodelafterModel钩子函数。这种方法可能更适合在需要重新验证用户身份或重新获取数据的情况下使用。

示例代码:

------ ---------- ---- --------------------
------ - ------ -- ------- - ---- -----------------

------ ------- ----- ----------------- ------- ---------- -
  -------- -------

  -------------- -
    ------------------------------------------------------------
  -
-

在上面的示例代码中,我们首先注入了router服务,然后创建了一个名为refreshRoute的方法,在该方法中使用transitionToRoute方法切换到当前路由。

结论

在本文中,我们介绍了Ember.js中重新加载当前路由的两种方法:使用refresh方法和transitionToRoute方法。无论你选择哪种方法,都需要根据具体情况进行权衡和选择。这些方法不仅适用于重新加载当前路由,也适用于其他路由的重新加载。

希望本文对您有所启发,让您更好地理解和使用Ember.js。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/29404


猜你喜欢

  • 如何使用 Moment.js 将时间取整到最近的一分钟

    在开发中,我们可能会需要将一个时间戳取整到最近的一分钟。例如,将 12:34 取整到 12:34 或者 12:35。Moment.js 是一个流行的 JavaScript 库,可以帮助我们处理日期和时...

    7 年前
  • ReactV16.3即将更改的生命周期

    React v16.3 即将更改的生命周期 React 是一个流行的前端框架,它基于组件化的思想构建 Web 应用程序。在 React 组件中,有一些生命周期方法可以被实现以控制组件的渲染和行为。

    7 年前
  • 在 CSS 中进行数学计算,真的可行吗?

    CSS 是前端开发中不可或缺的一部分。我们用它来处理网页的布局和样式。然而,CSS 本质上是一种样式表语言,它并没有像 JavaScript 那样的编程能力,因此在 CSS 中进行数学运算似乎是不可能...

    7 年前
  • Class 关键字在 JavaScript 中

    在 JavaScript 中,class 是一种用于创建对象的特殊函数。它是 ECMAScript 6 新增的语言特性之一,并提供了更加清晰和简洁的面向对象编程方式。

    7 年前
  • async.js each get index in iterator

    在前端开发中,异步编程是一项非常重要的技能。然而,在处理大型数据集时,我们需要进行迭代并获得每个元素的索引。在这种情况下,async.js库的each函数可以帮助我们轻松地完成任务。

    7 年前
  • JavaScript 字典中的键不是存储为值,而是存储为变量名

    在 JavaScript 中,字典(也称为对象)是一种重要的数据结构。它允许我们将数据存储为键-值对。然而,在使用字典时,你可能会遇到一个常见问题:当你尝试使用变量作为键时,它们最终会被解释为字符串,...

    7 年前
  • D3: 移除元素

    简介 在D3中,我们可以使用选择器和数据绑定来创建和更新元素,但是有时候我们也需要移除一些元素。本文将介绍如何使用D3来移除元素。 方法 选择器 首先,我们需要使用选择器来选中要移除的元素。

    7 年前
  • 如何在 Google Maps API 中指定语言?

    Google Maps API 是一个功能强大的 Web API,它允许开发者在自己的网站或应用程序中嵌入地图和地理位置数据,并为用户提供交互式体验。但是,当我们使用 Google Maps API ...

    7 年前
  • JavaScript: 判断 AJAX 响应是否为 JSON

    在前端开发中,我们经常需要从服务端获取数据并进行处理。而其中一种获取数据的方式就是使用 AJAX 请求。而有时候我们需要判断返回的数据类型是否为 JSON 格式,因为不同的数据格式需要不同的处理方式。

    7 年前
  • 使用 JavaScript 加载 HTML 模板

    前端开发中,我们经常需要使用模板引擎来动态生成 HTML 内容。而在使用模板引擎之前,我们需要先将模板文件加载到 JavaScript 中进行处理。本文将介绍如何使用 JavaScript 加载 HT...

    7 年前
  • JavaScript中字符串作为数组键值的应用

    在JavaScript中,数组是一种常见的数据类型,它可以存储多个元素,并使用数字索引来访问每个元素。但是,在某些情况下,我们可能需要使用字符串作为数组的键值来更好地组织和访问数据。

    7 年前
  • jQuery实现页面跳转或滚动到指定位置、元素或目标

    有时候我们需要在网页中实现点击按钮跳转到指定位置或元素的功能,比如一些固定在页面底部的导航栏。这个问题可以借助jQuery库来解决。 实现 首先,我们需要给触发点击事件的按钮添加一个id属性,以方便使...

    7 年前
  • AngularJS中ng-repeat在表格自定义元素内的渲染问题

    背景 在使用AngularJS开发前端应用程序时,经常需要使用ng-repeat指令将数据列表渲染到HTML页面上。然而,在使用ng-repeat时,如果将自定义元素嵌入到表格中,则可能会导致渲染出现...

    7 年前
  • 在JavaScript对象中使用数组?

    在JavaScript中,对象是一种复合数据类型,它可以包含许多属性和方法。通常,我们可以通过字面量或构造函数创建对象,然后使用点符号或方括号来访问其属性和方法。但是,在某些情况下,我们可能需要在对象...

    7 年前
  • 使用 Supertest 在 Node 中自定义 Express 服务器

    Supertest 是一个流行的 Node.js 测试工具,它可以帮助我们在测试期间模拟 HTTP 请求。在前端开发中,我们经常需要测试我们的 API 是否能够正常运行,并且确保其响应正确。

    7 年前
  • AngularJS错误:Unknown provider

    在AngularJS应用程序中,当我们尝试注入一个未知的依赖项时,会遇到Unknown provider错误。本文将介绍为什么会出现这个错误以及如何解决它。 错误原因 Unknown provider...

    7 年前
  • orderBy不按预期工作:AngularJS

    在使用AngularJS时,orderBy是一种经常使用的筛选器。它可用于对数组进行排序和过滤,并且可以与ngRepeat指令一起使用。然而,有时 orderBy 不按预期工作,这可能会导致代码中出现...

    7 年前
  • AngularJS使用ng-upload上传图片

    在前端开发中,经常需要上传图片到服务器上。AngularJS是一个非常流行的JavaScript框架,它提供了一系列丰富的指令和服务来帮助我们开发Web应用程序。其中,ng-upload指令可以帮助我...

    7 年前
  • 将描述 JavaScript 函数的字符串转换为实际函数

    在前端开发中,有时我们需要将以字符串形式传递的 JavaScript 函数转换为可执行代码。这种情况通常会出现在 Web Workers、动态加载脚本等场景中。 下面我们来介绍一种将描述 JavaSc...

    7 年前
  • 如何在点击时清空 textarea?

    在前端开发中,清空文本区域是一项基本任务。通常情况下,我们可以通过添加一个“清空”按钮,然后使用 JavaScript 来实现该操作。但是如果您不想使用按钮来清空输入框,并且希望用户单击输入框时自动清...

    7 年前

相关推荐

    暂无文章