gpt4 book ai didi

ember.js - Uviews 没有连接到 Controller

转载 作者:行者123 更新时间:2023-12-02 05:58:23 25 4
gpt4 key购买 nike

Ember 有一个应用程序,它有 ApplicationView、ApplicationController 和名为“application”的模板和名为“main”的 socket ,所有这些都自动连接。例如。

App.ApplicationView = Ember.View.extend();

App.ApplicationController = Ember.Controller.extend();

所以每当我的应用程序模板呈现时,它的默认 Controller 就是一个自动实例

App.ApplicationController

我可以在模板中访问其属性。但为什么它不能与其他 View 和 Controller 一起使用,即如果我有

App.SongView = Em.View.extend()

和 App.SongController = Em.Controller.extend()这两个不连接。我可以使用

的任何属性
App.SongController

在我的歌曲模板中。
我可以像这样使用:

{{view App.SongView}}

在模板中:

<script type='text/x-handlebars' data-template-name='song'>
{{name}}
</script>

如果我在 App.SongController 中有一个名称属性,那么它不会被拾取,因为它没有连接到 View 。虽然我可以这样做

{{view App.SongView controllerBinding='App.songController'}}

但这需要我的 js 文件中的 App.songController 实例,并且还使用这种方法我们将 Controller 硬编码到模板中。
最好的方法是什么?

更新我还在这里为我的问题附加了一个 js fiddle : http://jsfiddle.net/anshulguleria/K6KPJ/

最佳答案

如果你想渲染一个模板及其关联的 Controller 和 View ,你可以使用 {{render}} 模板。它的工作方式类似于路由器中的 this.render

{{render "song" song}}

此示例将使用 App.SongControllerApp.SongView 实例呈现 song 模板。它会将 song Controller 的 model 设置为当前上下文中 song 的值。

这是一个working JSBin这说明了这是如何工作的。

关于ember.js - Uviews 没有连接到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14394217/

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