【问题标题】:Ember.js Calling model's method from controllerEmber.js 从控制器调用模型的方法
【发布时间】:2014-06-19 10:51:44
【问题描述】:

有什么方法可以从控制器中获取模型?我需要调用模型上定义的实例方法和

this.get(methodName)(params)

不起作用,因为它丢失了被调用函数中的“this”调用上下文。

谢谢。

【问题讨论】:

    标签: javascript ember.js ember-controllers


    【解决方案1】:

    我不确定你想在方法中存在哪个上下文,如果你需要切换上下文你可以使用调用/应用。上下文应该是方法的上下文,而不是 javascript 标准的控制器。

    var model = this.get('model');
    
    model.methodName(arg1, arg2);
    

    控制器的上下文

    model.methodName.apply(this, arrayOfArgs);
    
    model.methodName.call(this, arg1, arg2);
    

    【讨论】:

    • 谢谢,伙计!这个问题真的很愚蠢,曾尝试调用 this.get('model') 但偶然在 jQuery 处理程序中,并且 'this' 指向不同的东西,因此努力做到 this.get('methodName')(参数)
    • 非常感谢您一再帮助我完成 Ember 之旅。你似乎是 SO 周围少数几个活跃的 Ember 人之一。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2018-06-20
    相关资源
    最近更新 更多