云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

网站建设_网页游戏服务器_稳定性好

小七 141 0

网站建设_网页游戏服务器_稳定性好

角度控制器1控制器实例初始化2调用add按钮时如何调用作用域对象中可用的addFunction小结

让我们先刷新一下SAPUI5控制器的内存。我有一个简单的xml视图,它只包含一个按钮:

和一个简单的控制器:

,智能建站软件,因为属性controllerName="buttontuorial.view.simple按钮"在XML视图中,通过UI5框架创建控制器实例并与XML视图实例连接:

,我们可以在控制台中使用JavaScript代码列出所属属性的最大数量创建的控制器实例:

或者您可以在控制台中简单地键入"this.",可以看到控制器实例有很多可用的方法:

例如,如果您键入我是拜伊德在控制台中,您可以看到它的实现只是将调用委托给我是拜伊德.

这是有意义的,因为每个控制器实例都通过oView持有对其主机视图的引用,控制器与其视图之间的连接在函数connectToView中建立:

您可以从该url中播放示例Angle应用程序。

它由31行源代码组成:

当您在输入字段中键入新语言并单击"添加"按钮时,语言将被添加到上面的列表中:

首先让我简单介绍一下源代码的思想,然后我将详细介绍每一点。

1。控制器实例初始化

在Angular引导阶段,由于这行html源代码,Angular将在第5327行创建一个新的控制器实例。您可以将$controller视为工厂函数。

让我们看看工厂函数的参数locals的内容:

最重要的属性是$scope,它被传递到我们定义的函数NameCtrl中:

一旦我们的应用程序代码被执行,大数据和云计算,控制器实例就被创建。然而,在Chrome中检查之后,我发现它只是一个没有任何重要属性的虚拟实例。而是追加了数据模型和addName函数,在当前范围内可用:

2。如何调用作用域对象中可用的addFunction当调用add按钮时

根据步骤1的研究结果,addName函数位于作用域对象中。我的问题是,当我按"添加"按钮时,为什么会调用它?

在之前的博客比较事件处理机制:SAPUI5和Angular中,263云通信企业版,我已经介绍了Angular为我们自动注册事件处理程序,只要它检测到这样的指令:

实际上我已经对角度.js, 添加更多的跟踪,以便您可以轻松找到Angular在引擎盖下实现事件注册的位置:

因此按预期调用:

UI5控制器实例有大量有用的功能可供使用,大数据对比,对于Angular,大数据问题,控制器实例只是一个伪实例:数据模型和事件处理程序函数位于范围对象中。