gpt4 book ai didi

ember.js 连接 Controller ()

转载 作者:行者123 更新时间:2023-12-01 11:49:32 25 4
gpt4 key购买 nike

如果您有 2 个不同的页面(称它们为主页和帖子)共享几乎完全相同的内容和功能,那么将一个页面绑定(bind)到另一个页面的最佳方式是什么?

在此fiddle我通过直接在路由器中设置它,将一个 View 的内容关联到另一个 View 的内容:

Router: Ember.Router.extend({
root: Ember.Route.extend({

//transitions

home: Ember.Route.extend({
route: '/',
connectOutlets: function(router) {
var posts = router.get('postsController.content');
router.get('homeController').set('content', posts);
router.get('applicationController').connectOutlet('home');
},
}),

//posts and other states
})
})

但是:如果帖子内容需要,我真的不需要动态更新主页内容,但如果我这样做了,会吗?

还有什么办法?是否可以使用 connectControllers() 然后应该在哪里使用?这是我失败的尝试:another fiddle

home: Ember.Route.extend({
route: '/',
connectOutlets: function(router) {
router.get('homeController').connectControllers('posts');
router.get('applicationController').connectOutlet('home');
},
})

最佳答案

您可以使用 template 助手。

<script type="text/x-handlebars" data-template-name="posts">
<div class="right"><h2>posts page</h2>
{{template "posts-details"}}
</div>
</script>

<script type="text/x-handlebars" data-template-name="posts-details">
{{#each post in content}} 
<article>                                   
<h3><a {{action "doPost" context="post"}} {{bindAttr id="post.id"}}>{{post.title}}</a></h3>
<p>{{post.date}}</p>
</article>
{{/each}}
</script>

查看您的 updated fiddle

关于ember.js 连接 Controller (),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12799293/

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