我正在尝试从子模板访问其父数据 在之前版本的emberjs中,可以使用needs关键字来完成:
AesZipFileEncrypter
根据我对新ember版本的理解,这应该像下面那样完成(因为需求关键字已被弃用):
public class ImageCompression extends AsyncTask<String, Void, String> {
private Context context;
private static final float maxHeight = 1280.0f;
private static final float maxWidth = 1280.0f;
public ImageCompression(Context context){
this.context=context;
}
@Override
protected String doInBackground(String... strings) {
if(strings.length == 0 || strings[0] == null)
return null;
return compressImage(strings[0]);
}
protected void onPostExecute(String imagePath){
// imagePath is path of new compressed image.
}
但它似乎不适用于我的HTML代码我使用以下行为空白:
app.RepositoriesController = Ember.Controller.extend({
needs: "user",
user : Ember.computed.alias("controllers.user");
});
谢谢!
答案 0 :(得分:2)
您需要做的就是致电:
4.52
并且ember非常聪明,可以根据属性键自动选择正确的控制器。
http://emberjs.com/api/classes/Ember.inject.html#method_controller
答案 1 :(得分:0)
我不确定这是最好的做法,但它完成了这项工作: 我在路线中添加了一个新功能:
setupController: function (controller, model) {
var user = this.modelFor('user');
controller.set('user', user);
Ember.$.getJSON(user.repos_url).then(function(res){
controller.set('model', res);
});
}
答案 2 :(得分:0)
通常提取数据应该转到模型钩子,因此上面的代码可以写成:
model: function(){
var user = this.modelFor('user');
return Ember.$.getJSON(user.repos_url).then(function(res){
return { user: user, res: res}
});
}
现在,您可以在控制器中访问之类的模型
user: Ember.computed.alias('model.user'),
res: Ember.computed.alias('model.res')