2016-10-07 9 views
0

を使用してテンプレートにデータを渡す私は(レンダリング使用してテンプレートをレンダリングしたい)といくつかのデータを渡すために(モデル)をしたいエンバー問題this.render

私はモデルとしてパラメータを渡す場合、私は、テンプレート内のデータを取得 モデル:this.controllerFor(this.routeName).someModel

this.render('my-template', { 
    into: 'application', 
    outlet: 'myOutlet', 
    model: this.controllerFor(this.routeName).someModel 
}); 

ただし、以下は機能しません。渡されたモデルの命名にいくつかの制限がありますか?

this.render('my-template', { 
    into: 'application', 
    outlet: 'flyout', 
    myModel: this.controllerFor(this.routeName).someModel 
}); 

答えて

1

あなたが渡しているプロパティは、それはあなたのmodelで、あなたのmodelの名前ではありません。

modelプロパティとして渡すものは、対応するコントローラのmodelプロパティとして設定されます。残り火がunder the hood of render()を行い

関連のチェックは以下の通りです:

オプションは、 render()の二番目の引数として渡すものです
if (options && options.model) { 
    controller.set('model', options.model); 
} 

注目すべき点の1つは、controller.modelcontroller.someModelと設定していることです。既にこのデータにアクセスできるので冗長です。

0

この方法は、nameoptionsの2つのパラメータを持っています。

optionsプロパティは次のとおりです。

  • コントローラ
  • アウトレット
  • にモデル

myModelと呼ばれるものは何もありません。 See docs

関連する問題