我正在创建一个显示来自API端点的JSON数据的视图,例如www.example.com/api/compare_segments?338,340
我需要在我的应用程序中显示该数据,网址为www.myapp.com/compare/338,340,但我只是得到一个空白页面并显示错误消息:
“断言失败:加载路径时出错:错误:声明没有属性函数的计算属性”
当我在路径文件中注释掉模型钩子时,它会加载正确的模板(当前只显示任意填充文本。) 未注释模型挂钩时,它仅显示空白屏幕和错误消息。
为什么模板无法加载以及如何解决错误消息的任何想法?
应用程序/ router.js:
var Router = Ember.Router.extend(); // ensure we don't share routes between all Router instances
Router.map(function() {
this.resource('compare', { path: "compare/:ids"} );
});
export default Router;
应用程序/路由/ compare.js:
var CompareRoute = Ember.Route.extend({
model: function(params) {
return $.ajax({
url:('/api/compare_segments'+params.ids),
method: 'get',
dataType: 'json',
data: JSON.stringify,
accepts: 'json'
}).then(null, function() {
return { msg: "Recovered from rejected promise"};
});
},
});
export default CompareRoute;
应用程序/视图/ compare.js:
export default Ember.View.extend({
templateName: 'compare',
});
答案 0 :(得分:0)
有些东西覆盖了ajax调用,但是通过使用.getJSON()调用.ajax()来解决这个问题。
在app / routes / compare.js中:
var CompareRoute = Ember.Route.extend({
model: function(params) {
return $.getJSON('/api/compare_segments?' + params.ids).then(function(payload) {
return payload;
})
});
export default CompareRoute;