0

ember Web サイトのチュートリアル ページには、特定の方法ですべて失敗している広範なコード例がいくつかあります。これは、表向きは初心者に ember でのコーディング方法を指示するための典型的な ember コードであると想定されているため、私は途方に暮れています。エンバーを知っている人はコードを見てもらえますか。(例は、私がリストしたブックマークのすぐ上にあり、テンプレートと js の両方が含まれています。

具体的には、メインのルート ページ テンプレートには、サブページによってのみ書き込まれるアウトレット「フッター」がありますが、ホーム (ルート/インデックス) ページに戻ると、そのアウトレットにはサブページからの情報がまだ表示されています。それはすべきではありません。同じことが「トラバーサル」と呼ばれるテンプレートでも発生しており、そのアウトレットはサブページによってのみ書き込まれますが、ルートに戻ると、そのアウトレットにも情報が表示されます。

API ドキュメントで関数disconnectOutletに出くわしましたが、それを使用する必要はほとんどないはずであり、サンプル コードにはありません。私はそれを試しました-明らかに実際にはもうAPIにはありません。

上記のコードを実行する場合は、ember サイトから次のものが必要になります。

  <link rel="stylesheet" href="css/style.css">
  <script src="js/libs/jquery-1.7.2.min.js"></script>
  <script src="js/libs/handlebars-1.0.rc.1.js"></script>
  <script src="js/libs/ember-1.0.pre.min.js"></script>
4

1 に答える 1

2

おっしゃるとおり、このプルリクエストdisconnectOutletで追加されました。これを使用して、コントローラーから OutletView を (名前で) 削除できます。たとえば、特定のルートを終了するときに applicationController から削除します。myOutletViewName

  aRoute: Ember.Route.extend({
    exit: function(router) {
      router.applicationController.disconnectOutlet('myOutletViewName')
    }
  })

名前を指定せずにテンプレートで使用する場合{{outlet}}、デフォルト名は次のviewようになります。

router.applicationController.disconnectOutlet('view')
于 2012-10-21T20:06:55.820 に答える