Dha*_*dan 1 javascript json ember.js
以下是我的文件夹结构
Sample/
css/
js/
libs/
data/
employees.json
app.js
index.html
Run Code Online (Sandbox Code Playgroud)
app.js
App = Ember.Application.create({
LOG_TRANSITIONS: true
});
App.Router.map(function(){
this.resource("employees");
});
App.ApplicationAdapter = DS.RESTAdapter.extend({
namespace: "localapps/EmberProjects/Sample/js/data",
url: "employees.json"
});
App.Employee = DS.Model.extend({
name : DS.attr("string")
});
App.EmployeesRoute = Ember.Route.extend({
model: function() {
return this.store.find("employee");
}
});
Run Code Online (Sandbox Code Playgroud)
employees.json
{
"employees": [
{
"name": "Title 1"
},
{
"name": "Title 2"
}
]
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试从.json文件中获取数据时,ember.js会自动用""替换url中的.json.
原始取电话:
http://localhost/localapps/EmberProjects/Sample/js/data/employees.json
Run Code Online (Sandbox Code Playgroud)
但是ember试图从中获取数据
http://localhost/localapps/EmberProjects/Sample/js/data/employees
Run Code Online (Sandbox Code Playgroud)
因此,不会从适配器收到任何数据.
@claptimes解决方案可能会有效,但它会复制原始实现,我认为这是一个不好的做法,因为你必须手动将它保持最新版本的ember数据:)
另外我注意到你正在设置url已被弃用一段时间的属性(https://github.com/emberjs/data/blob/eeb6162f65513caa19ce18887c3f4d1c2014d80c/TRANSITION.md#host-and-namespace-configuration).
这是一个调用_super并且不会覆盖完整方法的解决方案:
App.ApplicationAdapter = DS.RESTAdapter.extend({
buildURL: function() {
return this._super(...arguments) + '.json';
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6448 次 |
| 最近记录: |