1

JSFiddle を参照してください: http://jsfiddle.net/cyclomarc/aYmuJ/3/

アプリケーション コントローラーでプロパティを設定し、このプロパティを部分ビューで表示したいと考えています。これはうまくいかないようです。テンプレート自体でプロパティにアクセスできますが、テンプレート内でレンダリングされた部分ビューではアクセスできません..

index.html

<script type="text/x-handlebars">
    <h3>Ember access to controller properties</h3>
    {{#linkTo 'about'}}About{{/linkTo}} <br><br>
    {{outlet}} 
</script>

<script type="text/x-handlebars" data-template-name="about">
    Access to property in index template: <br>
    <b>{{controllers.application.applicationVersion}}</b> 
    <br><br>     
    {{render "_footer"}}
</script>

<script type="text/x-handlebars" data-template-name="_footer">
    Footer text (partial view) with a controller property:<br>
    <b>{{controllers.application.applicationVersion}} MISSING</b>
</script>

app.js

var App = Ember.Application.create({});

App.Router.map(function () {
  this.resource('about', { path: "/about" });
});

App.IndexRoute = Ember.Route.extend({
  redirect: function () {
    this.transitionTo('about');
  }
});

App.ApplicationController = Ember.Controller.extend({
  //Set some properties
  applicationVersion: "1.0.0"
});

App.AboutController = Ember.Controller.extend({
  needs: "application"
});
4

1 に答える 1