Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在转换到Ember中的另一个路由时调用方法?_Javascript_Ember.js - Fatal编程技术网

Javascript 如何在转换到Ember中的另一个路由时调用方法?

Javascript 如何在转换到Ember中的另一个路由时调用方法?,javascript,ember.js,Javascript,Ember.js,假设我有一个这样的IndexController App.IndexController = Ember.ArrayController.extend({ sortProperties: ['PicId'], PicCreated: function () { alert('Pic created'); } }); 现在我有另一个控制器叫NewPic App.NewPic = Ember.Controller.extend({ // the initia

假设我有一个这样的IndexController

App.IndexController = Ember.ArrayController.extend({
    sortProperties: ['PicId'],
PicCreated: function () {
        alert('Pic created');
    }
});
现在我有另一个控制器叫NewPic

App.NewPic = Ember.Controller.extend({
    // the initial value of the `search` property
    model: this.get('model'),
    needs: ["Index"], //says we need the Index controller for this
    actions: {
  var Pic= this.store.createRecord("PicList", obj);
            PicList.save().then(function () {
               this.transitionToRoute('Index');
            });
}
});
我的问题是如何调用转换时创建的pic。我有一个图片列表,上传后我会回到索引页面并显示一条消息“piccreated”


有人能帮我吗

transitionToRoute
返回一个承诺,因此您可以使用
then
来知道转换何时完成,并调用
PicCreated
方法:

App.NewPic = Ember.Controller.extend({        
    needs: ["index"],
    actions: {
        createPic: function() {
            var newPicController = this;
            var indexController = this.get('controllers.index');
            // more code here ...

            PicList.save().then(function () {
               newPicController.transitionToRoute('index').then(function() {
                    // show th message
                    indexController.PicCreated();
               });
            });
        }        
    }
});