为话语添加新功能
Adding new feature to discourse
我正在尝试在现有的代码话语余烬轨道应用程序中添加监视列表功能
我添加了以下代码
Discourse.Route.buildRoutes(function() {
var router = this;
this.resource('watchLists', { path: '/watch_lists' }, function() {
this.resource('watchList', {path: ':watch_list_id'});
});
});
在余烬控制器中
Discourse.WatchListsController = Discourse.ObjectController.extend({});
在余烬模型中
Discourse.WatchList = Discourse.Model.extend({});
Discourse.WatchList.reopenClass({
find: function() {
jQuery.getJSON("watch_lists").then(function(json) {
var watch_lists = json.watch_lists.map(function(attrs) {
return Discourse.WatchList.create(attrs);
});
});
在余烬视图中 js
Discourse.WatchListsView = Ember.View.extend({});
在余烬路由 js 中
Discourse.WatchListsRoute = Discourse.Route.extend({
model: function() {
return Discourse.WatchList.find();
}
});
当我渲染车把模板时,我得到了一个 WatchListsController 对象,其中包含我们从 ajax 获得的数据。
任何机构都能指出我做错的地方吗?
我看到两个可能的问题。
首先,您可能希望WatchListsController
扩展Discourse.ArrayController
,而不是Discourse.ObjectController
。
其次,您的reopen
块在您发布的示例代码中不是有效的 JavaScript。 我数了四个{
但只有两个}
. 你可能想要这样的东西:
Discourse.WatchList.reopenClass({
find: function() {
return jQuery.getJSON("watch_lists").then(function(json) {
return json.watch_lists.map(function(attrs) {
return Discourse.WatchList.create(attrs);
}
});
}
});
相关文章:
- 将新对象添加到本地存储
- 在Knockout中将新项添加到对象数组
- 为新对象添加函数,将对象添加到数组中.理解困难'这'关键字
- 是否有用于CSS浏览器支持新功能的javascript解决方案
- 如何将新的
- 添加到
- 使用JavaScript单击
- 添加到
- 将控制器的功能添加到角度中的特定视图
- 将新行添加到localStorage变量中
- 从HTML表单中获取计算得到的JavaScript数据,并将其作为新元素添加到相同的表单操作中以使用PHP保存
- 当上一行/当前行被填充时,将新行添加到HTML表中
- Regex用于在特定条件下为新句子添加空格或句号
- 什么'在javascript中将新方法添加到对象中的区别是什么
- 阻止评估和新功能
- 当新行添加到表中时,使用AJAX更新页面
- 如何将工具提示功能添加到高级图表中的 X 轴标签
- 将新行添加到数据库时的 Javascript 警报
- 如何将左/右箭头(下一个/上一个)功能添加到我的 jQuery 图像和文本滑块
- 将新时区添加到时刻.js时区
- 有没有办法让 Javascript 在将新属性添加到给定对象时抛出错误
- 如何创建具有预定义值的下拉列表,但也应该有将新值添加到列表中的选项
- 为话语添加新功能