在 `$scope` 或 `this` 上定义的控制器函数之间的性能差异 - AngularJS

2023-12-22

在 Angular 中,您可以通过将方法附加到控制器中来定义方法$scope:

$scope.myFunction = function () { ... }

当然,您也可以将它们附加到this,我见过它用于指令和父控制器之间的通信:

/* within the controller */
this.myFunction = function () { ... }

由于 Angular 观察值的原因,两种方法之间是否存在性能差异?

即使没有性能差异,这似乎也是保持某些方法私有的好方法,这样就不会意外地从视图访问它们。


从文档(http://docs.angularjs.org/guide/dev_guide.mvc.understanding_controller http://docs.angularjs.org/guide/dev_guide.mvc.understanding_controller):

注意:以前版本的 Angular(1.0 RC 之前)允许您将其与 $scope 方法互换使用,但现在不再是这样了。在作用域上定义的方法内部,this 和 $scope 是可以互换的(角度将 this 设置为 $scope),但在控制器构造函数内部则不然。

So this is $scope, 但不长久。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 `$scope` 或 `this` 上定义的控制器函数之间的性能差异 - AngularJS 的相关文章

  • 主干视图 DOM 元素已删除

    我一直在阅读有关 Backbone js 僵尸 或内存泄漏 问题的信息 基本上 当您不再需要该元素时 您必须从 DOM 中解除绑定并删除该元素 以确保所有事件也被删除 现在 我有一个包含几个容器的单页应用程序 div div div div
  • 从数据 URI 解码 QR 码

    我尝试从数据 uri 中解码二维码 var dataUri data image gif base64 R0lGODdh9gD2AIAAAAAAAP ywAAAAA9gD2AAAC decodeQrCode dataUri cb 我已经尝试
  • 在 Vue.js 中从父组件执行子方法

    目前 我有一个 Vue js 组件 其中包含其他组件的列表 我知道使用 vue 的常见方式是将数据传递给孩子 并从孩子向父母发出事件 但是 在这种情况下 我想在子组件中的按钮出现时执行子组件中的方法 parent被点击 哪种方法最好 一种建
  • 如何重置使用 JavaScript 更改的 CSS 属性?

    我的导航按钮的宽度从 100px 增加到 150px 当鼠标悬停在 nav li hover width 150px 但是使用 javascript 我已经做到了 无论选择哪个选项 宽度都将继续为 150px 当选择每个选项时 它会使其他选
  • 如何抑制窗口鼠标滚轮滚动...?

    我正在开发嵌入页面中的画布应用程序 我有它 因此您可以使用鼠标滚轮放大绘图 但不幸的是 这会滚动页面 因为它是文章的一部分 当我在 dom 元素上滚动鼠标滚轮时 是否可以阻止鼠标滚轮在窗口上滚动 附加鼠标滚轮 不是 Gecko DOMMou
  • 如何监听 jQuery AJAX 请求?

    以下两种实现 ajaxRequest 1 2 的方法应该是等效的 话说回来 为什么验证回调已执行的单元测试 3 在 1 中成功而在 2 中失败 我应该如何重写测试 3 来监视 2 中的成功回调 如果我尝试stub jQuery ajax使用
  • Node.js:如何在检索数据(块)时关闭响应/请求

    我正在用 node js 构建一个应用程序 它加载多个页面并分析内容 因为 node js 发送块 所以我可以分析这些块 如果一个块包含例如索引 nofollow 我想关闭该连接并继续其余部分 var host example com to
  • 除了更改标题之外,如何在 Firefox 中强制另存为对话框?

    有没有办法在 ff 中强制打开 www example com example pdf 的另存为对话框 我无法更改标题 如果您可以将文件以 Base64 格式输出到客户端 则可以使用 data uri 进行下载 location href
  • Angular.js,如何将值从一个组件传递到任何其他组件

    我从 Angular js 开始 所以如果我解释得不够 我会将其添加到问题中 请告诉我 I have A component js A template html B component js B template html A compo
  • 如何将 Google Charts 与 Vue.js 库一起使用?

    我正在尝试使用 Vue js 库使用 Google Charts 制作图表 但我不知道如何添加到 div 这是我尝试做的 这是如何使用普通 javascript 添加图表 这是文档的代码示例 https developers google
  • Jquery/Javascript 上传和下载文件,无需后端

    是否可以在没有后端服务器的情况下在 JavaScript 函数中下载和上传文件 我需要导出和导入由 JavaScript 函数生成的 XML 我想创建按钮 保存 xml 来保存文件 但我不知道是否可行 另一方面 我希望将 XML 文件直接上
  • 使用 KnockoutJs 映射插件进行递归模板化

    我正在尝试使用以下方法在树上进行递归模板化ko映射 插入 http knockoutjs com documentation plugins mapping html 但我无法渲染它 除非我定义separate每个级别的模板 在以下情况下
  • Babel 7 Jest Core JS“TypeError:wks不是函数”

    将我的项目升级到 Babel 7 后 通过 Jest 运行测试会抛出以下错误 测试在 Babel 6 中运行没有任何问题 但在 Babel 7 中失败并出现以下错误 TypeError wks is not a function at Ob
  • Grails 在 javascript 内的 GSP 站点中使用 grails var

    我有一个在 GSP 文件中的 javascript 代码中使用 grails 变量值的问题 例如 我有一个会话值session getAttribute selectedValue 我想在 javascript 代码部分使用这个值 我现在的
  • 为 illustrator 导出脚本以保存为 web jpg

    任何人都可以帮我为 illustrator CC2017 编写一个脚本 将文件以 JPG 格式导出到网络 旧版 然后保存文件并关闭 我有 700 个文件 每个文件有 2 个画板 单击 文件 gt 导出 gt 另存为 Web 旧版 然后右键文
  • 为什么在 Internet Explorer 中访问 localStorage 对象会引发错误?

    我正在解决一个客户端问题 Modernizr 意外地没有检测到对localStorageInternet Explorer 9 中的对象 我的页面正确使用 HTML 5 文档类型 并且开发人员工具报告该页面具有 IE9 的浏览器模式和 IE
  • 在 vue.js 中访问数组对象属性

    给定以下数组vue js packageMaps Object packageMap 0 Object Id 16 PackageType flag list ProductCode F BannerBase packageMap 1 Ob
  • Javascript转换时区问题

    我在转换当前时区的日期时间时遇到问题 我从服务器收到此日期字符串 格式为 2015 10 09T08 00 00 这是中部时间 但是当我使用 GMT 5 中的 new Date strDate 转换此日期时间时 它返回给我的信息如下 这是不
  • 如何仅在最后一个
  • 处给出透明六边形角度?
  • 我必须制作这样的菜单 替代文本 http shup com Shup 330421 1104422739 My Desktop png http shup com Shup 330421 1104422739 My Desktop png
  • 如何获取浏览器视口中当前显示的内容

    如何获取当前正在显示长文档的哪一部分的指示 例如 如果我的 html 包含 1 000 行 1 2 3 9991000 并且用户位于显示第 500 行的中间附近 那么我想得到 500 n501 n502 或类似的内容 显然 大多数场景都会比

随机推荐

  • Unix:调用 select() 时读取文件描述符关闭时会发生什么

    假设我在包含一堆读取文件描述符的 FD SET 上调用 select 如果在 select 调用期间 文件描述符之一关闭 会发生什么情况 假设发生某种错误 那么我有责任从集合中查找并删除已关闭的文件描述符吗 我不相信这是在任何地方指定的 某
  • 为什么 Rails 4scaffold 创建 json.jbuilder 文件?

    我使用以下命令生成了一个新的 Rails 4 rc1 项目rails new并使用生成了一个脚手架rails g scaffold 正如预期的那样 它已经创建了迁移 控制器和所有必需的视图文件 它还创建了 show json jbuilde
  • 使用 VBA 选择单个节点 XML 对象

    您好 我正在尝试访问下面的 XML 响应对象
  • 权限拒绝:启动 Intent 未从 uid 导出

    当我从我自己的应用程序打开手机中已安装的应用程序时 我遇到了这个问题 权限拒绝 启动 Intent act android intent action MAIN 猫 android intent category LAUNCHER cmp
  • HTML5画布点击事件

    我做了一个正方形数组 ctx fillStyle rgb 0 0 0 for x 0 x lt 25 x for y 0 y lt 25 y ctx fillRect x y 20 20 我想要一个正方形在点击时改变它的颜色 我怎样才能做到
  • UITableViewCell 设置最初选择的

    您好 我遇到了这样的情况 在 iPad 应用程序中 我的master controller有清单和细节控制器有它的细节 一个典型的UISplitViewController图案 我想要实现的是 我的第一行应该最初被选择 然后我想给用户选择
  • Blackberry - 如何渲染 PDF 文档?

    如何通过您自己的应用程序阅读 BlackBerry 中的 pdf 文件 在黑莓中没有 API 或库可以做这样的事情 不过你可以尝试集成谷歌文档 http docs google com or www docspal com http www
  • CALayerInvalidGeometry 在 iOS9 上崩溃“具有非有限位置的子层 [inf inf]”

    iOS 9 Swift 2 我有一个带有自定义视图的视图控制器 每当我从导航控制器堆栈中弹出它时 它就会崩溃 引用以下崩溃 Terminating app due to uncaught exception CALayerInvalidGe
  • 适用于 LG G4 的带数字和小数点的 Android 键盘

    我在 Android 中使用以下元素EditText 有一个带有数字和小数点的键盘 用于显示键盘布局输入金额 例如 22 12 android inputType numberDecimal 它适用于所有设备 如三星 Nexus 索尼等 T
  • 无法加载模板:uib/template/modal/window.html

    我觉得我已经尝试了一切 但仍然收到错误 无法加载模板 uib template modal window html 在我的索引文件中我添加了以下内容 在我的应用程序文件中我添加了 ui bootstrap 在我的控制器文件中我添加了以下内容
  • 如何使容器中的行垂直居中? [复制]

    这个问题在这里已经有答案了 默认情况下 该行与顶部对齐 我尝试将 margin top auto 和边距底部 自动 但不起作用 也垂直对齐 居中 也不起作用 有一个简单的解决办法吗 Thanks container background c
  • 安全存储密码的最佳方法

    在计算机上保存密码以使其无法被访问的最佳方法是什么 我想将它们加密存储在注册表中 我希望您能够重置密码 但这不适用于服务器 这是为了将它们存储在计算机上以记住它们并自动登录 重要编辑 我需要能够从程序内检索纯文本密码 而不是其他任何地方 加
  • Carthage:iOS平台没有共享框架方案(对于我自己的框架)

    我创建一个框架 称为 ProjectOne 构建并测试了它 我想让这个框架用于Carthage 我编辑了我的方案并设为默认值 ProjectOne 方案共享于XCODE 我做了一个迦太基建造并验证该框架是内置的迦太基 构建 iOS I th
  • 使用 Twitter Bootstrap,如何“记住”用户操作?

    我正在使用引导警报框 并且希望这些框 记住 它们是否已关闭 这样当用户登录会员区域并关闭警报时 当他们下次访问该网站时 警报仍然消失 有什么办法可以做到这一点吗 div class alert message success a class
  • 作为 SQL 作业代理执行 SSIS 包失败 - 返回 DTSER_FAILURE (1)

    在此作业中 SSIS 用于将表数据转换为 Excel 文件 它已成功将表数据转换为 Excel 文件 但仍然显示 作业失败 以下是作业历史记录中显示的消息 适用于 32 位的 Microsoft R SQL Server 执行包实用程序版本
  • Jade - 控制 HTML 输出中的换行符

    我有一个简单的搜索表单 我希望使用 Jade 来实现 form input type text size 16 placeholder Enter your keywords input type button value Search 输
  • Winforms ComboBox SelectedItem 更改不会影响 BindingSource

    我正在制作 C WinForms 应用程序 我 还 无法解决的问题是 当我以编程方式更改 ComboBox 的 SelectedItem 时 它会发生更改 直到 ComboBox 失去焦点 之后它会在分配 SelectedItem 之前 提
  • 是否可以在 ES6 项目中使用自定义类型定义?

    我的团队正在开发一个相对较大的 NodeJS 项目 该项目用 ES6 编写 由 babel 转译 然后使用 Serverless 部署为 AWS lambda 该项目的重点是使用 映射 转换和输出我们定义的一种特定对象类型 我们的问题是 E
  • 结合 d3.js 和backbone.js

    我正在开发一个项目 它将所有 d3 js 可视化与backbone js 组合到一个单页面应用程序中 由于我有很多可视化效果 例如条形图 饼图等 我想知道解决这个问题的最佳方法是什么 例如 假设我有两个条形图和一个饼图 我是否应该将所有设置
  • 在 `$scope` 或 `this` 上定义的控制器函数之间的性能差异 - AngularJS

    在 Angular 中 您可以通过将方法附加到控制器中来定义方法 scope scope myFunction function 当然 您也可以将它们附加到this 我见过它用于指令和父控制器之间的通信 within the control