- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在使用 Sane stack 创建一个 Web 应用程序,它在客户端使用 Ember.js 作为 JavaScript 框架,在服务器端使用 Sails.js 作为 node.js 框架。我的应用架构结构如下:
我正在尝试从 Jira API REST 中获取一些数据,例如,我可以使用简单的 Controller 通过sails.js 从 JIRA API REST 中获取项目信息:
//server/app/controllers/JiraController
module.exports = {
loadProject : function(req, res){
console.log("Jira contoller");
var Http = require('machinepack-http');
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
Http.sendHttpRequest({
url: '/rest/api/2/project/',
baseUrl: 'https://jira.domain.com',
method: 'get',
headers: {
"Authorization": "Basic YWxhYS52654f0bWFuaTphbGFhNDE0NA=="
}
}).exec({
serverError: function(result) {
res.send("server error" + JSON.stringify(result));
},
success: function(result) {
// res.send("Projects loaded successfully");
res.send(result);
}
});
}
};
在 server/app/config/routes 中:我添加:
'get /projects' : 'JiraController.loadProject'
但我想做的是使用 Ember.js 在客户端获取项目数据,换句话说,我希望sails.js 请求 JIRA API Rest,然后将数据 (JSON) 传递给 Ember。 js,它将在 View 中显示它。
请问我该怎么做!?
编辑:
在客户端我这样做了:
//pods/components/project/component.js
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return Ember.$.getJSON('/api/v1/projects');
}
});
如何在我的 View 中呈现这个 JSON?
最佳答案
我认为您的代码中存在一些实现错误。
首先你要在 component.js
文件中编写 Ember.Route
,这是错误的。这样,您的路线被称为 component
并且由于这是错误的位置,因此您的 model
为空。这不起作用还有一个原因。看,你是如何调用 model
钩子(Hook)的!正确的做法如下:
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return Ember.$.getJSON('/api/v1/projects');
}
});
把它放在app/routes/components/component.js
这样你的路由就叫做component
。现在,您必须能够在 view
中访问等效的 model
数据,理想情况下,该数据应该位于 app/templates/components/component.hbs
。
关于javascript - 在 Sails.js 上获取请求 Ember.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30482907/
我正在尝试将 ember-models 链接到 ember-table,以从服务器提取分页记录,并在向下滚动时将它们添加到表中。 我可以通过请求我的 api url 和页码来让它工作,就像 http:
我有一个应用程序,它使用 ember-data 来持久化数据和 StateManager 来驱动其全局状态。由于加载数据是异步的,我想知道如何捕获表示所有数据都已加载的事件。 准确地说,我有一个名为“
我有一个简单的 Ember 应用程序,其中有一个输入框、两个选择框和一个按钮。我可以在“doSearch”方法中访问输入框的值,但不能访问选择框的值。 到目前为止,我没有尝试任何工作 - 我注释掉了我
我使用 Ember-CLI 来构建我的 ember 应用程序,但我不想使用 Ember Data。 默认情况下,当你输入这个命令:ember generate model Person 时,ember
我按照 Ember CLI 主页的说明创建了我的第一个 Ember CLI 插件。该插件运行良好,并且已经在 Github 上获得了几颗星:https://github.com/lolmaus/emb
我在这里看到的以前的问题似乎都没有涵盖何时使用 Ember 计算属性与 Ember Observer 的主题。我知道计算属性使用以前的属性来帮助生成新属性并在运行循环中更新。 Person = Emb
我一直在 git 分支上切换到 1.13.2 版本的 ember,现在我想在返回另一个分支时回到 1.11.1。 我一直在运行npm install和 bower install没有失败。 但是当我运
我有一个使用 ember-cli 构建的 Ember 应用程序我正在使用 ember-qunit 编写我的测试使用 testem 测试适配器并在浏览器中运行它们按照 ember-cli 中的说明文档。
项目设置: Ember:2.0.0 Ember 数据:2.0.0 Ember-cli:1.13.8 我创建了一个转换:转换/isodate.js import DS from 'ember-data'
假设我有一个具有 2 个属性的组件:我如何能够基于 localID 属性和 Ember.compulated.filterBy 宏创建计算属性? localID: 2, data: [ { i
我刚刚创建了一个新的 Ember-CLI app (v0.1.12),并注意到 Ember 的引用版本是 v1.8.1 (bower.json)。我想要 recently released 1.10我
使用最新的 Ember (3.2)、ember-cli-mirage 0.4.7、ember-cli-qunit 4.3.2、ember-qunit 3.4.1 我正在使用 ember-cli-mir
我是一名 ember 菜鸟,正在阅读 ember-cli 101 这本书。迄今为止,我一直在 ember-cli 网站 here 上使用升级工作流程。 。 在终端中使用 ember-cli 帮助时,我
如何测试我的组件,将 ember-data 模型作为 props 传递给它? 例如: {{#queue/review/moderatable-text model=activity property=
Ember 对象和 Ember Data 中的对象有什么区别?我知道当服务器上有一些数据时我应该使用 Ember Data 模型,但是我应该何时何地使用它们中的任何一个? 最佳答案 注意:这很长,有偏
执行ember -v仅显示ember cli版本。 如何查看 ember.js 版本和 ember 数据版本? 最佳答案 ember.js 和 ember-data 的版本由应用的依赖项决定。 Bow
我正在尝试在 Ember.RSVP.all 内执行 promise App.Foo = Ember.Object.create({ bar: function() { var
访问 ember 对象属性的首选方法是什么?我经常看到 .get() 方法被使用,但想知道为什么人们不只是使用点表示法。例如在 Advice in the Use of Ember Trek 先生写道
我知道 Ember 有一个记录器,但我想创建自己的用于学习目的。我有一个名为 logger 的服务,我希望能够在任何地方使用这个服务。将此服务注入(inject)到组件、 Controller 等中没
我刚刚关注了 ember-cli 主页上的“入门”帖子。 我安装了 ember 0.1.2、bower、phantomjs 等。 但是,我创建了我的应用程序,当我运行“ember server”时,它
我是一名优秀的程序员,十分优秀!