如何处理 $ctrl.在 AngularJS 中?

2023-12-25

我有一个来自 API 的方法。它返回一个解析为 $ctrl(?) 对象的承诺。该对象应包含测量值,并且每当收到新数据时就会更新。

getMeasurements.latest(filter)     //only a object to filter through all measurements
    .then(function (latestMeasurement) {
        $ctrl.latestMeasurement = latestMeasurement;
});

我的问题是我不知道如何使用这些数据或将其显示在我的 html 文件中。 $ctrl 是如何工作的?

这里的文档 http://resources.cumulocity.com/documentation/jssdk/latest/#/api/c8y.core.service:c8yMeasurements#methods_latestAPI 的


$ctrl是控制器中的视图模型对象。这个 $ctrl 是您选择的名称(vm是另一个最常见的名称),如果您检查代码,您可以看到定义为$ctrl = this;,所以基本上它是this控制器功能的关键字。

所以现在如果你正在使用$ctrl.latestMeasurement = 'someValue',那么就像您正在添加一个属性latestMeasurement到控制器功能。

现在如何在 HTML 中使用它?

要访问 HTML 中的latestMeasurement 属性,您的代码必须具有<h1>{{$ctrl.latestMeasurement}}</h1>(H1 标签只是一个示例。)

Here $ctrl与我上面在控制器部分解释的不同。这里 $ctrl 是用于的值controllerAs控制器的属性。但$ctrl是默认值controllerAs属性,所以你的代码可能没有定义controllerAs属性,所以Angular将采用默认值$ctrl在 HTML 中。

这是大多数人感到困惑的地方。那么让我解释一下,

假设在你的新控制器中你已经声明了你的this关键字到变量vm,然后你设置你的controllerAs财产给myCtrl, i.e;

controllerAs: 'myCtrl'定义控制器属性时。

var vm = this;在你的控制器功能中。

在这种情况下,在 js 中你必须使用vm用于设置值,在 HTML 中你必须使用myCtrl。例如,

在 JS 控制器函数中vm.test = 'Hello world';

in HTML <span ng-bind="myCtrl.test"></span>

结果你好世界将显示在您的页面中。

为什么是 $ctrl 而不是 $scope?

视图模型对象模型概念是在 AngularJS 1.5 中引入的,它实际上是迁移到 Angular 2 的一部分,其中 $scope 不再存在。所以在 1.5 中他们引入了新的方法,但没有完全删除 $scope。

希望答案有帮助。

对于基本的 Javascript 概念,您可以查看http://javascriptissexy.com/16-javascript-concepts-you-must-know-well/ http://javascriptissexy.com/16-javascript-concepts-you-must-know-well/

更详细的 AngularJS $ctrl 概念你可以查看https://johnpapa.net/angularjss-controller-as-and-the-vm-variable/ https://johnpapa.net/angularjss-controller-as-and-the-vm-variable/

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

如何处理 $ctrl.在 AngularJS 中? 的相关文章

  • javascript中输入类型时间的值

    我有这个html
  • 使用 javascript 禁用按钮:FF 与 IE

    我有一排按钮 它们都会创建一个我想在新选项卡中打开的 pdf 文件 这样按钮页面就会保持在顶部 并且 pdf 会打开以进行打印 为了防止单击按钮两次 我禁用该按钮 如下所示 我使用 python
  • 如何在angularjs中使用addClass方法

    我有一个仅限于类的 angularjs 指令 如何使用 angularjs 中的 addClass 方法添加它 指示 app directive number function return restrict C link function
  • 一个接一个地淡入div

    大家好 我很擅长 HTML 和 CSS 但才刚刚开始接触 jQuery 的皮毛 我希望让 3 个 div 在页面加载时逐渐淡入 到目前为止我有这个 我听说使用 css 将显示设置为 none 对于任何使用非 JavaScript 浏览器的人
  • 更改javascript nodejs中所有页面的href url

    我已经实现了具有多种语言下拉菜单的引导导航栏 当我选择语言时 它将翻译页面 如何更改其他页面的 url 和按钮文本 当我选择french 将所有网址更改为 fr about and fr contact 如何使用 JavaScript 进行
  • 当请求新页面时,如何将 AngularJS 路由与 Express (Node.js) 结合使用?

    我正在使用 Express 它从静态目录加载 AngularJS 一般情况下我会要求http localhost 其中 Express 为我服务index html以及所有正确的 Angular 文件等 在我的 Angular 应用程序中
  • CORS 在 jquery 中工作正常,但在 angularjs 中不行

    我的服务器端是php mysql 我正在另一个域的 Web 服务中进行 Ajax 调用 其中启用了 的访问控制 var postUrl http logical brains com elance clone test login php
  • createHTMLNotification() 替换

    我创建了一个 Chrome 扩展程序 其中使用createHTMLNotification 在所有内容之上显示一个窗口 然而 从 Chrome 28 开始 谷歌决定放弃createHTMLNotification 完全 为什么 谷歌 为什么
  • Angular UI 模式的范围问题

    我无法理解 使用角度 UI 模式的范围 虽然这里不是很明显 但我已经正确设置了模块和所有内容 据我所知 但这些代码示例尤其是我发现错误的地方 index html 其中重要部分 div class btn group div
  • 在 Angular html 模板中访问常量枚举

    假设我有一个常量枚举 export const enum MyConstEnum Value1 Value1 Value2 Value2 Value3 Value3 现在我想在我的 Angular 模板中使用它 span This has
  • 无法使用 BeautifulSoup4 (Python 3) 抓取特定表

    我想从 Ligue 1 足球网站上抓取一张表格 具体来说 该表包含有关卡片和裁判的信息 http www ligue1 com LFPStats stats arbitre competition D1 http www ligue1 co
  • 使用本地存储在从另一个表保存的 HTML TABLE 中打印 JSON,以便我在另一个页面上打印我的表

    在我的作业中 我必须使用用户输入中的数据并将数据保存在本地存储中 我必须以水平表格式将这些数据从本地存储打印到其他页面 为此 我编写了用于用户输入并将数据保存在本地存储中的代码 div p p div
  • 将 XSL-FO 转换为 HTML

    我有一组用于 PDF 生成的 XSL FO 文档 我还需要将相同的输出数据 PDF 格式 导出为 HTML 文件 此外 我需要 HTML 具有与 PDF 类似的样式 有没有办法使用 C 将 XSL FO 转换为 XHTML NOTE 我知道
  • 在 Angular e2e 测试中获取浏览器路径会导致异常

    我有一个简单的 e2e 测试来验证路由重定向是否有效 跑步者 html 场景 js use strict describe e2e function beforeE
  • Angular.js:如何从无序列表中获取 orderBy 或过滤器来工作?

    尝试根据价格和评级 在返回的对象中 进行排序 我宁愿用 ng click 和 li 来代替使用选择菜单 有没有办法做到这一点 我环顾四周 这是我能想到的最接近的 ul class restaurant filter li i class i
  • 按下回车键时不刷新页面

    我遇到了一些问题 只要表单中有输入 回车键就会触发页面刷新 下面的代码 如果按下回车并且文本区域 input 中没有输入任何文本 则不会刷新页面 但是如果按下回车并且 input中有输入或者光标位于文本区域 我不确定是什么触发了它 因为 s
  • 使用 JavaScript 移动页面上的按钮

    我的按钮可以移动 但奇怪的是 我无法弄清楚偏移是否有问题 我希望我的按钮随着鼠标光标移动 但现在它的移动方式不是我想要的 有时它会消失 另外 创建的新按钮是重叠的 我不知道如何解决这个问题并拥有更好的外观 var coorA var coo
  • 如何停止TinyMCE删除span标签?

    在我的工作中 前一位程序员决定使用公司网站上精彩的TinyMCE 我遇到的数千个问题之一是 如果原文有的话span标签 当我按下退格键删除一行 p仅标签 全部span标签已从文本中删除 这个错误比另一个错误更具体 我可以删除anything
  • 在 Angular 中让多个调用等待同一个 Promise

    我在一个页面上有多个使用相同服务的控制器 为了举例 我们将服务称为 USER 第一次调用 USER getUser 时 它会发出 http 请求来获取有关用户的数据 调用完成后 它将数据存储在 USER data 中 如果再次调用 USER
  • 使用 CSS 折叠和展开元素

    我正在尝试构建一个页面 加载时仅可见标题 并且 当用户单击标题时 每个标题下方的表格会在隐藏和显示状态之间切换 我的限制是只能在 CSS 中执行此操作 这是我到目前为止想到的 https jsfiddle net Argoron c1ypx

随机推荐