gpt4 book ai didi

Ember.js:使用 {{action}} 时,如何定位特定 Controller ?

转载 作者:行者123 更新时间:2023-12-04 02:48:14 26 4
gpt4 key购买 nike

我把我的问题放在一个代码示例中:

http://jsbin.com/urukil/12/edit

看,我可以用 {{action}} (放置在 subview 中)与 targetApplicationView 中触发事件的选项或 ApplicationControllerChildView ,只有 ChildController 除外这是我真正想要的。

根据文档,如果没有target指定,事件本身应该在相应的 Controller 中处理,在我的情况下,应该是 ChildController .但是为什么这个 Action 总是在 ApplicationController 中查找?我是否错过了一些明显重要的东西?

最佳答案

使用 this.controllerFor('')调用不同的 Controller 事件。下面给出了一个工作示例。

JS:

/// <reference path="Lib/ember.js" />
var app = Ember.Application.create()
app.Router.map(function () {
this.resource('post')

});
app.ApplicationRoute = Ember.Route.extend({

model: function () {
return { "firstName": "amit", "lastName": "pandey" }
}
});
app.ApplicationController = Ember.ObjectController.extend({
Address: "House no 93-B",
fullName: function () {
return this.get("model.firstName") + " " + this.get("model.lastName")
}.property("model.firstName", "model.lastName"),
actions: {
submit: function (name) {

this.controllerFor('post').send('handleclick')

},
makeMeUpper:function()
{
alert('calling application controller Event');
this.set("model.firstName",this.get("model.firstName").toUpperCase())
}


}



});


app.PostRoute = Ember.Route.extend({
model:function()
{
return user;


}


});
app.PostController = Ember.ObjectController.extend({
Hello: "afa",
handleclick: function ()
{
alert('calling post controller Event');

this.controllerFor('application').send('makeMeUpper');
}


});


var user = [
{
id: "1",
Name: "sushil "

},
{
id: "2",
Name: "amit"

}

];

//hbs
 <script type="text/x-handlebars">
<button {{action submit firstName}}>CLICK HERE TO CALL Post controller event</button>
{{input type="text" action= "makeMeUpper" value=firstName }}

{{#if check}}
No Record Exist

{{else}}
{{firstName}}{{lastName}}
{{/if}}
{{#linkTo 'post'}}click {{/linkTo}}
{{outlet}}
</script>
<script type="text/x-handlebars" id="post">

<button {{action hanleclick}}>Click here to call application controller event</button>
</script>

关于Ember.js:使用 {{action}} 时,如何定位特定 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16899679/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com