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
Ember.js 余烬输出变量形成视图中的其他控制器/模型_Ember.js - Fatal编程技术网

Ember.js 余烬输出变量形成视图中的其他控制器/模型

Ember.js 余烬输出变量形成视图中的其他控制器/模型,ember.js,Ember.js,我想我有一个基本问题,那就是理解如何从其他控制器的视图中访问变量 我阅读了很多次余烬文档和“数百”个博客条目,但我没有找到解决方案 提交Loginform后,我想从Auth Controller/Model设置var“isLoggedIn”,并在Login视图中输出它。Auth稍后将从许多其他组件中使用,这就是为什么我想将它与Login分开 以下是我代码的一小部分: 模板:登录 Authenticated: {{controllers.auth.isLoggedIn}} <--- afte

我想我有一个基本问题,那就是理解如何从其他控制器的视图中访问变量

我阅读了很多次余烬文档和“数百”个博客条目,但我没有找到解决方案

提交Loginform后,我想从Auth Controller/Model设置var“isLoggedIn”,并在Login视图中输出它。Auth稍后将从许多其他组件中使用,这就是为什么我想将它与Login分开

以下是我代码的一小部分:

模板:登录

Authenticated: {{controllers.auth.isLoggedIn}} <--- after Login this should be TRUE, but how ?
...LoginForm: here is the login form with input fields (email and password)...
型号:登录

var Login = DS.Model.extend({
  email     : DS.attr("string"),
  password  : DS.attr("string"),
  // Because of Ember Bug i have to use idObserver after "DS.defaultStore.commit()"
  // to get the ID responded from the server.
  idObserver: function() {
    var auth = App.Auth.create();
    auth.set("id", this.get("id"));
  }.observes("id")
});
控制器:Auth

var AuthController = Ember.Controller.extend({
  isLoggedIn: false // What should i write here to connect to isLoggedIn of Auth.Model ???
}); // Controller
型号:Auth

var Auth = Ember.Object.extend({
  isLoggedIn: DS.attr("boolean"),
  idObserver: function() {
    if(this.get("id")) this.set("isLoggedIn", true);
    else this.set("isLoggedIn", false);
  }.observes("id")
});

如何在登录模板中输出“controllers.auth.isLoggedIn”?

通常,auth模型的实例将在auth控制器的内容属性上设置(通常由路由器处理)。一旦设置了内容,模板就可以正常工作,无需修改

本要点可能会帮助您,因为它是使用路由器的登录示例:

var Auth = Ember.Object.extend({
  isLoggedIn: DS.attr("boolean"),
  idObserver: function() {
    if(this.get("id")) this.set("isLoggedIn", true);
    else this.set("isLoggedIn", false);
  }.observes("id")
});