Javascript ViewController和Enyo

Javascript ViewController和Enyo,javascript,enyo,Javascript,Enyo,Enyo 2.3pre中构建了一个新的MVC机制,但现在绝对有文档 问题是如何将特定控制器绑定到视图 我有一个基于enyo.Control的新型控制器,例如,我有一个基于kind的控制器:“enyo.ViewController” 在我的控制器中,我有一个handlers对象,该对象带有一个应该处理事件的函数 如果我将视图道具放在控制器中,并且该控制器的视图名称自 未调用控制器中的我的处理程序 你能给出一些例子吗?因此,默认情况下,enyo.ViewController想要renderInto

Enyo 2.3pre中构建了一个新的MVC机制,但现在绝对有文档

问题是如何将特定控制器绑定到视图

我有一个基于enyo.Control的新型控制器,例如,我有一个基于kind的控制器:“enyo.ViewController”

在我的控制器中,我有一个handlers对象,该对象带有一个应该处理事件的函数

如果我将视图道具放在控制器中,并且该控制器的视图名称自 未调用控制器中的我的处理程序


你能给出一些例子吗?

因此,默认情况下,enyo.ViewController想要renderInto document.body,我们使用它来定义enyo.Application种类作为应用程序的“起点”

Enyo实现不一定是“纯”MVC,因为您不一定要为正在处理的每个视图(或Enyo.Control)都有一个合适的控制器。Enyo一直有一种混合视图/控制器系统烘焙到控件中

话虽如此,最近对实现的更改消除了对拥有“视图”的“控制器”的事件冒泡,因为这会导致大量不必要的开销。事实上,我们正在从enyo.Application类中删除“controllers”块,作为对各种控制器的应用程序全局引用,相反,您将把它们放在一个组件块中,作为“传统”enyo开发的典型

因此,当前的想法是视图将像以前一样处理事件,但可以绑定到各种“控制器”和模型的属性

现在,如果您真的愿意,您仍然可以创建一个MVC体系结构,但是该系统足够灵活,可以支持任何“关注点分离”方法(MVC、MVP、MVVM等)

我目前的做法是创建一个“控制器”,用于执行某些操作(如发出Web服务请求),然后从我得到的数据构建模型,将它们添加到集合中,然后我的视图可能会有一个数据感知控件(如enyo.DataRepeater或enyo.DataList)这将自动为每个模型生成一些行

看看这个简单的例子:但是,请注意,它可能不是从应用程序范围的控制器切换到组件的最新版本。此外,我们正在删除DataRepeater/List的“controller”属性,它将更改为“collection”


如果你需要更多的提示,请告诉我。我们意识到,在我们完成实施的过程中,缺乏文档使得这一点变得困难。请容忍我们

因此,默认情况下,enyo.ViewController想要renderInto document.body,我们使用它来定义enyo.Application类作为应用程序的“起点”

Enyo实现不一定是“纯”MVC,因为您不一定要为正在处理的每个视图(或Enyo.Control)都有一个合适的控制器。Enyo一直有一种混合视图/控制器系统烘焙到控件中

话虽如此,最近对实现的更改消除了对拥有“视图”的“控制器”的事件冒泡,因为这会导致大量不必要的开销。事实上,我们正在从enyo.Application类中删除“controllers”块,作为对各种控制器的应用程序全局引用,相反,您将把它们放在一个组件块中,作为“传统”enyo开发的典型

因此,当前的想法是视图将像以前一样处理事件,但可以绑定到各种“控制器”和模型的属性

现在,如果您真的愿意,您仍然可以创建一个MVC体系结构,但是该系统足够灵活,可以支持任何“关注点分离”方法(MVC、MVP、MVVM等)

我目前的做法是创建一个“控制器”,用于执行某些操作(如发出Web服务请求),然后从我得到的数据构建模型,将它们添加到集合中,然后我的视图可能会有一个数据感知控件(如enyo.DataRepeater或enyo.DataList)这将自动为每个模型生成一些行

看看这个简单的例子:但是,请注意,它可能不是从应用程序范围的控制器切换到组件的最新版本。此外,我们正在删除DataRepeater/List的“controller”属性,它将更改为“collection”


如果你需要更多的提示,请告诉我。我们意识到,在我们完成实施的过程中,缺乏文档使得这一点变得困难。请容忍我们

您可以看到我的示例,用于检查enyo MVC结构。

基本上,我们有一个模型、视图和控制器。 模型:在我的例子中是一个简单的enyo。模型类型。你可以拥有enyo.collections等。。。 控制器:我使用了enyo.ModelController。 视图:有以下几种:


应用程序并不完全是MVC。因为我的逻辑仍然存在。但是,您可以理解如何设置模型和使用组件。

您可以看到我的示例,以检查enyo MVC结构。

基本上,我们有一个模型、视图和控制器。 模型:在我的例子中是一个简单的enyo。模型类型。你可以拥有enyo.collections等。。。 控制器:我使用了enyo.ModelController。 视图:有以下几种:


应用程序并不完全是MVC。因为我的逻辑仍然存在。不过,您可以理解如何设置模型和使用组件。

非常感谢sugardave!我只需将我的整个控制器添加到父视图中,并在此控制器中设置“视图”属性,就可以使其正常工作。我检查了您的示例,对此我有几个问题:1。“控制器”属性引用的记分牌是模型,而不是控制器。2.本例中没有ViewController或Controller。我应该用它们吗?它会根据你的具体需要来决定。将任何组件的属性绑定到任何其他组件的属性的能力在某种程度上否定了