Javascript Ember.js:创建控制器子类时遇到问题
我正在尝试在Ember.js中创建一个自定义控制器,但在尝试实现这一点时遇到了一些问题。以下是我的app.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.
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'],
})