如何从emberjs中的操作返回值 [英] how to return values from actions in emberjs

查看:37
本文介绍了如何从emberjs中的操作返回值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何从动作中返回一些价值?
我尝试过:

how to return some value from actions?? I tried this:

var t = this.send("someAction", params);

...

    actions:{
      someAction: function(){
          return "someValue";
      }    
    }


推荐答案

操作不返回值,只有true / false / undefined才允许冒泡。

actions don't return values, only true/false/undefined to allow bubbling. define a function.

Ember代码:

  send: function(actionName) {
    var args = [].slice.call(arguments, 1), target;

    if (this._actions && this._actions[actionName]) {
      if (this._actions[actionName].apply(this, args) === true) {
        // handler returned true, so this action will bubble
      } else {
        return;
      }
    } else if (this.deprecatedSend && this.deprecatedSendHandles && this.deprecatedSendHandles(actionName)) {
      if (this.deprecatedSend.apply(this, [].slice.call(arguments)) === true) {
        // handler return true, so this action will bubble
      } else {
        return;
      }
    }

    if (target = get(this, 'target')) {
      Ember.assert("The `target` for " + this + " (" + target + ") does not have a `send` method", typeof target.send === 'function');
      target.send.apply(target, arguments);
    }
  }

这篇关于如何从emberjs中的操作返回值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆