小编out*_*344的帖子

无限滚动与ember.js(延迟加载)

我有一个视图,其中可以有大量的项目供用户滚动,我想实现无限滚动以启用内容的渐进加载.

看起来有些人已经完成了分页,但谷歌没有提出任何讨论他们如何使用Ember/Ember Data完成无限列表的人.任何人都已经完成了这个并有一个博客文章/示例代码分享?

lazy-loading infinite-scroll ember.js ember-data

54
推荐指数
3
解决办法
2万
查看次数

我在哪里指定Ember数据中模型的复数?

我的模型类型以-y:Security结尾

我如何告诉Ember Data使用/证券代替/ securitys为此寻找资源?

ember.js ember-data

17
推荐指数
3
解决办法
7013
查看次数

将更改还原为ember数据模型

有没有办法轻松地将更改恢复为Ember Data模型?

我有一个绑定到编辑视图的模型.此视图使用户可以取消编辑,此时我想将更改还原为模型.有没有一种简单的方法可以在不克隆所有值的情况下执行此操作?

ember.js ember-data

14
推荐指数
3
解决办法
6511
查看次数

browserHistory.push无法导航到新页面

我在路由器上设置了browserHistory(react-router 2.0):

import { browserHistory } from 'react-router'

function requireAuth(nextState, replace) {
    if (!services.auth.loggedIn()) {
        replace({
            pathname: '/login',
            state: { nextPathname: nextState.location.pathname }
        })
    }
}

export default (store) => (
  <Router history={browserHistory}>
    <Route path='/' component={AppLayout}>
      <Route path="login" component={LoginContainer} />
      <Route path="map" component={MapContainer} onEnter={requireAuth} />
    </Route>
  </Router>
);
Run Code Online (Sandbox Code Playgroud)

然后我尝试在react-router中使用browserHistory以编程方式从视图路由到新页面,ala:

 import { browserHistory } from 'react-router'

 ...

 browserHistory.push('/map');
Run Code Online (Sandbox Code Playgroud)

这会将URL更改为/ map,但不会呈现该路由中的组件.我究竟做错了什么?

reactjs react-router

13
推荐指数
1
解决办法
7796
查看次数

大黑圈覆盖scatterChart

我有一个非常奇怪的问题 - 我使用与nvd3网站上的散点图示例相同的代码(但挂在我的ember.js应用程序中),我看到一个美丽的情节出来只是被破坏了大约500毫秒后,一组黑色圆圈大得多,但遵循相同的情节轮廓.

如果我在nv.d3.js中注释掉这一行:

gEnter.append('g').attr('class', 'nv-point-paths');
Run Code Online (Sandbox Code Playgroud)

这似乎没有发生,图形"工作"ala没有动画.

以前有人见过这样的东西吗?

nvd3.js

11
推荐指数
1
解决办法
2354
查看次数

在视图中处理动作不是路由器

我有一个可扩展/可折叠内容的视图,我希望通过单击表格行来切换.在pre1.0之前,我在模板中有这个:

<tr {{action "expand"}}>
Run Code Online (Sandbox Code Playgroud)

以前根据我的观点处理过:

App.ContentRowView = Em.View.extend({
   templateName: 'ember/templates/content/row',
   expand: function() {
      this.set('isExpanded', !this.get('isExpanded'));
   },
   isExpanded: false
});
Run Code Online (Sandbox Code Playgroud)

但是,在升级到pre1.0之后,该操作现在由路由器直接进行.这在很多情况下都很有意义,但在这种情况下,扩展实际上是一个视角问题.我试过用一个单击事件处理程序替换它,没有运气.

有关如何使用pre1.0处理这样的视图关注事件的最佳实践吗?

ember.js

7
推荐指数
1
解决办法
6208
查看次数

添加/删除Ember Data支持的ArrayController中的项目

我在我的应用程序中使用了一个ArrayController,它通过应用程序的路由器从Ember Data REST调用中提供:

postsController.connectOutlet('comment', App.Comment.find({post_id: post_id}));
Run Code Online (Sandbox Code Playgroud)

对于Post UI,我可以添加/删除评论.当我这样做时,我希望能够通过删除或添加相同的元素来更新postsController的contentArray,以便为用户提供可视反馈,但是Ember Data并不好玩:

Uncaught Error: The result of a server query (on App.Comment) is immutable.
Run Code Online (Sandbox Code Playgroud)

每低于sly7_7的评论,我只注意到这个结果确实DS.RecordArray时没有查询(App.Comment.find()),但在那里有一个查询(App.Comment.find({POST_ID的情况: post_id}),返回DS.AdapterPopulatedRecordArray.

我是否必须.observes('contentArray')并创建一个可变副本?或者有更好的方法吗?

ember.js ember-data

7
推荐指数
1
解决办法
6132
查看次数

nvd3中的行+散点图

是否可以在nvd3.js中组合线+散点图而不构建新模型,就像在示例和代码中使用linePlusBarChart一样?或者这是您可以组合图表类型的唯一方法吗?

javascript nvd3.js

7
推荐指数
1
解决办法
2847
查看次数

预共享密钥(TLS-PSK)NGINX配置

我有一个非常有限的设备运行电池供电,没有马力进行密钥交换,所以相反,我们想使用PSK(预共享密钥)来保护频道.我似乎无法找到有关如何使用NGINX进行配置的任何信息.

我看到ssl_ciphers有PSK(我已启用)但是在哪里/如何指定NGINX和客户端之间的共享密钥?这支持吗?

ssl nginx

7
推荐指数
1
解决办法
941
查看次数

在Ember.js路线中重新获取模型数据

有没有办法用Ember.js做实时数据?

我正在寻找的是能够将更新和新记录(而不是删除)注入先前返回的结果.

所以,假设我有这样的路由器,它可以实现排序和分页(也就是跳过):

App.Router.map(function() {
    this.resource('messages', { path: '/messages/skip/:skip/sort/:sort/direction/:direction' });
});

App.MessagesRoute = Ember.Route.extend({

    model: function(params) {
        this.set('params', params);
        return this.query();
    },

    query: function() {
        var sort = {};
        sort[this.get('params').sort] = parseInt(this.get('params').direction);

        return App.Message.find({}, {
            skip: this.get('params').skip,
            sort: sort
        });
    },

    setupController: function(controller, model) {
        var self = this;
        this._super(controller, model);

        Ember.Instrumentation.subscribe('onMessage', {
            before: function(name, timestamp, message) {
                self.controller.set('content', self.query());
            },
            after: function() {}
        });
    },

});
Run Code Online (Sandbox Code Playgroud)

这很有效 - 它可以在静态意义上进行正确的排序和跳过.

(注意:我没有使用Ember数据 - 只是一组Ember对象.)

但是,消息不断到达,我希望这些消息的显示能够在消息到达时自动重新查询新消息.

我有一个websocket告诉我何时发生这种情况并且工作正常我正在使用Ember.Instrumentation基础设施将该事件路由到我拥有的setupController闭包.但是当我做的时候

this.controller.set('content', this.query());
Run Code Online (Sandbox Code Playgroud)

为了对此事件进行重新加载,内容全部消失.我究竟做错了什么?

ember.js

6
推荐指数
1
解决办法
976
查看次数