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.js:创建控制器子类时遇到问题_Javascript_Ember.js - Fatal编程技术网

Javascript Ember.js:创建控制器子类时遇到问题

Javascript Ember.js:创建控制器子类时遇到问题,javascript,ember.js,Javascript,Ember.js,我正在尝试在Ember.js中创建一个自定义控制器,但在尝试实现这一点时遇到了一些问题。以下是我的app.js代码: App = Ember.Application.create(); App.LoginController = Ember.Controller.extend({ actions: { alert: function() { alert('yo'); } } }); App.LoginManagerView = Ember.View.

我正在尝试在Ember.js中创建一个自定义控制器,但在尝试实现这一点时遇到了一些问题。以下是我的app.js代码:

App = Ember.Application.create();

App.LoginController = Ember.Controller.extend({   
  actions: {
    alert: function() {
      alert('yo');
    }
  }
});

App.LoginManagerView = Ember.View.extend({
  templateName: 'login/manager',
})

App.LoginManagerController = Ember.Controller.extend({
  needs: ['loginController'],
})


App.Router.map(function() {
  this.route("root", {path: "/"});

  this.resource("login", function() {
    this.route("user");
    this.route("manager");
  })
});
这是我的html代码:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Ember Starter Kit</title>
  <link rel="stylesheet" href="css/normalize.css">
  <link rel="stylesheet" href="css/style.css">
</head>
<body>

  <script type="text/x-handlebars">
    <div class="navbar">
      <div class="navbar-inner">
        {{#link-to 'root'}}Home{{/link-to}}
        {{#link-to 'login.user'}}User{{/link-to}}
        {{#link-to 'login.manager'}}Manager{{/link-to}}
      </div>
    </div>
    {{outlet}}
  </script>

  <script type="text/x-handlebars" id="root">
    <h1>Home</h1>
  </script>

  <script type="text/x-handlebars" id="login/user">
    <h1>User</h1>
  </script>

  <script type="text/x-handlebars" id="login/manager">
    <h1>Manager</h1>
    <p>
      Name: {{controller}}
    </p>
    <button {{action controllers.loginController.alert}}>Alert</button>
  </script>

  <script src="js/libs/jquery-1.10.2.js"></script>
  <script src="js/libs/handlebars-1.1.2.js"></script>
  <script src="js/libs/ember-1.4.0.js"></script>
  <script src="js/app.js"></script>
</body>
它可以工作,但我无法访问登录控制器实例

编辑:

当我查看Ember控制台时,我看不到路线,如果我返回js控制台,我会收到以下消息:

需要[controller:loginController],但找不到它


我如何才能找到loginController实例?

我不熟悉ember,但您不能尝试类似App.LoginManagerController=App.loginController.extend?我认为LoginController应该继承那个方法,那个方法不会实现我正在尝试做的事情。但是谢谢!更改需要:需要:['login']
App.LoginManagerController = Ember.Controller.extend({
  needs: ['loginController'],
})