当前位置: 首页 > 面试题库 >

这与控制器中的范围之间的区别

蒙麒
2023-03-14
问题内容

我是angularjs的新手。如果在控制器中将功能分配给$ scope或此关键字有什么区别?谢谢。

示例(范围):

.controller('TestCtrl', ['$scope', function ($scope) {
    $scope.testFunc = function () {
    };
}]);

例子(这个)

.controller('TestCtrl', [function () {
    var app = this;
    app.testFunc = function () {
    };
}]);

问题答案:

$scope是角度框架和双重数据绑定功能的核心概念。例如,其旨在与以下人员共享其内容:

  • 范本
  • 指令
  • 等等

例如,在模板中,您需要将一个函数绑定到来scope访问它。您将无法调用this直接绑定的函数。

编辑: 感谢指出使用“controlleras”语法可以将您的模板直接绑定到控制器,这种行为是可能的。但是由您决定是否要访问模板中控制器的所有对象/变量,而不要使用专用的viewModelscope)。有关优缺点,请参见:https
:
//groups.google.com/forum/#!topic/
angular/
84selECbp1I


这是您需要了解的重要角度概念。

见:

  • http://docs.angularjs.org/guide/scope进行介绍
  • https://github.com/angular/angular.js/wiki/Understanding-Scopes了解有关范围的更多技术信息

this键盘仅指代object您的javascript,仅此controller而已。



 类似资料:
  • 问题内容: 我创建了一个包装jQuery插件的指令,并将该插件的配置对象从控制器传递到指令。(作品) 在配置对象中是一个我想在事件上调用的回调。(作品) 在回调中,我想修改控制器的$ scope上的属性,该属性 不起作用 。Angular无法识别出该属性由于某种原因而发生了变化,这使我相信回调中的$ scope与控制器的$ scope不同。我的问题是我不明白为什么。 有人能指出我正确的方向吗? 单

  • 问题内容: 我想查询日期范围内的elasticsearch文档。我现在有两个选择,两个都适合我。已经测试了他们两个。1.范围查询2.范围过滤器 由于我现在的数据集很小,因此无法测试它们的性能。两者有什么区别?哪个会导致更快地检索文档和更快地响应? 问题答案: 查询和过滤器之间的主要区别在于评分。查询将返回每个文档具有相对排名得分的文档。过滤器没有。这种差异使过滤器更快,有两个原因。首先,它不会产生

  • 问题内容: 我想编写带有隔离范围的指令,但也想使该范围可用于父范围的控制器。我找到了这个解决方案: 参见柱塞。 我觉得这有点丑陋,因为它涉及用HTML编写属性,而在控制器的代码中,您无法确定范围属性的来源。有一个更好的方法吗? 编辑: 此外,似乎在运行控制器“ Main”时$ scope.popup甚至不可用。指令的链接功能尚未执行? 问题答案: 为了保持适当的关注点分离,您不应该混合作用域。更不

  • 但现在我无法决定它应该是普通的还是自定义的执行器。这两个术语有什么区别? ps:问题似乎是有意见基础的,但答案应该足够简单。

  • 本文向大家介绍单例和原型bean范围之间的区别。,包括了单例和原型bean范围之间的区别。的使用技巧和注意事项,需要的朋友参考一下 Spring框架支持五种类型的bean作用域- 辛格尔顿 原型 请求 届会 全球会议 根据春季文件- Singleton-每个Spring IoC容器返回一个bean实例。该单个实例存储在此类单例bean的高速缓存中,并且对该命名bean的所有后续请求和引用都返回该高

  • 我想查询日期范围内的elasticsearch文档。我现在有两个选择,都很适合我。我已经测试了他们两个。1.范围查询2。距离滤波器 因为我现在有一个小数据集,所以无法测试它们的性能。这两者有什么区别?哪一种方法可以更快地检索文档和响应?