小编msp*_*ars的帖子

检索当前用户的策略

我正在寻找一个优雅的策略来使用emberjs(和ember-data)检索当前用户信息.

目前,我做以下事项:

我的API响应/users/me当前用户.
在我的适配器中,当检索到的对象id不是我希望的real_id那个时,我添加一个id(数据库中用户的id),并用我期望的内容替换实际返回的id.

因此,当我的适配器将"我"作为用户的id,但服务器返回1时,我得到以下json:

{"real_id": 1, "id": "me"}
Run Code Online (Sandbox Code Playgroud)

这有效.但我不是一个大粉丝,我想尽可能避免更改适配器的默认内容.

你为此使用任何策略吗?你会推荐什么 ?

javascript ajax ember.js ember-old-router

5
推荐指数
1
解决办法
1376
查看次数

jquery中的'fx'队列如何自动启动?

我已经在jQuery队列上阅读了很多答案和博客帖子......具体来说,这个特定的答案有很多帮助 - /sf/answers/232041421/.但是,jquery.com上的标准文档和上面的答案都让我看一下jquery代码http://code.jquery.com/jquery-1.7.2.js

我无法理解 - 从代码中 - 'fx'(默认)队列是如何自动启动的.特别是队列被清空后.

例如,在自定义队列上,当您手动启动队列,并且队列用完了要调用的函数时,对队列的任何引用都不再无效,所以我希望jquery代码中的某个位置试图找出状态队列如果是空的自动启动它?代码有点展示我遇到的,如果我只是缺少一段代码(我在上面的代码中看到行:2060-2160)请告诉我.

> var aq = $({});
> aq.queue("mp").length
0
> n1 = aq.queue("mp")
[]
> n1.length
0
> aq.queue("mp", function (next) { setTimeout(next, 5000); })
[Object]
> aq.queue("mp", function (next) { setTimeout(next, 5000); })
[Object]
> aq.queue("mp", function (next) { setTimeout(next, 5000); })
[Object]
> n1.length
0
> aq.queue("mp").length
3
> n1 = aq.queue("mp"); // reset n1 to the "new" queue...
> n1.length
3
Run Code Online (Sandbox Code Playgroud)

此外,如果任何部分不清楚,请告诉我,我会相应更新.

jquery

5
推荐指数
1
解决办法
420
查看次数

在更改Ember路由器中的状态时断开插座/删除视图?

我有一个带有两个出口的应用程序模板的应用程序.当我进入root.index状态时,我只想连接一个插座,当我进入root.chats状态时,我希望连接两个插座.当我从root.index导航到root.chats时这很好用,但是当我向后导航时,navpane出口仍然存在(应该是这样).如何断开此插座或取消首先连接的视图?是否弃用了控制器mixin的disconnectOutlet方法?我应该完全不同地构建这个吗?我在下面提供了我的代码.谢谢.

// State flag helper function. See https://github.com/ghempton/ember-router-example/blob/master/js/app.js

function stateFlag(name) {
  return Ember.computed(function() {
    var state = App.router.currentState;
    while(state) {
      if(state.name === name) return true;
      state = state.get('parentState');
    }
    return false;
  }).property('App.router.currentState');
}

// Application

App = Em.Application.create({

    ApplicationController: Ember.Controller.extend({
        isChats: stateFlag('chats')
    }),
    ApplicationView: Ember.View.extend({
        templateName: 'application'
    }),
    ChatlistController:  Em.Controller.extend({
        hideView: false
    }),
    ChatlistView:  Em.View.extend({
        templateName:  'chatlist',
        didInsertElement: function(){
            this.$("#nav_pane").css({'left':'-=275', 'z-index':'-5'}).animate({
                left: ["+=275", 'swing'],
            },500,function() {
                $(this).css('z-index','5')
            });
        },
        _hideViewChanged: function() {
            if (this.get('hideView')) {
                this.hide();
            }
        }.observes('hideView'),
        hide: function() …
Run Code Online (Sandbox Code Playgroud)

ember.js ember-old-router

3
推荐指数
1
解决办法
4679
查看次数

标签 统计

ember-old-router ×2

ember.js ×2

ajax ×1

javascript ×1

jquery ×1