如何在 Angular 1.5 组件中等待绑定(没有 $scope.$watch)

2024-03-01

我正在编写一个 Angular 1.5 指令,并且在尝试在绑定数据存在之前对其进行操作时遇到了一个令人讨厌的问题。

这是我的代码:

app.component('formSelector', {
  bindings: {
    forms: '='
  },
  controller: function(FormSvc) {

    var ctrl = this
    this.favorites = []

    FormSvc.GetFavorites()
    .then(function(results) {
    ctrl.favorites = results
    for (var i = 0; i < ctrl.favorites.length; i++) {
      for (var j = 0; j < ctrl.forms.length; j++) {
          if (ctrl.favorites[i].id == ctrl.newForms[j].id) ctrl.forms[j].favorite = true
      }
     }
    })
}
...

正如您所看到的,我正在进行 AJAX 调用来获取收藏夹,然后根据我的绑定表单列表进行检查。

问题是,甚至在填充绑定之前就已经履行了承诺...因此,当我运行循环时,ctrl.forms 仍然未定义!

如果不使用 $scope.$watch (这是 1.5 组件的吸引力的一部分),我如何等待绑定完成?


我遇到了类似的问题,我这样做是为了避免调用组件,直到我要发送的值准备就绪:

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

如何在 Angular 1.5 组件中等待绑定(没有 $scope.$watch) 的相关文章

随机推荐

  • 锁定Web API控制器方法

    我正在使用 C 和 Net Framework 4 7 开发 ASP NET Web Api 应用程序 我在控制器中有一种方法 我只想一次仅由一个线程执行 换句话说 如果有人调用此方法 则另一个调用必须等待该方法完成 我找到了这个所以答案
  • RAILS_ROOT 需要吗?

    我正在尝试访问 lib 目录中的文件中的 RAILS ROOT 常量 但我无法 未初始化常量错误 我需要做些什么才能做到这一点吗 是的 您应该需要environment rb require File dirname FILE config
  • 如何从私有 azure devops feed 恢复 nuget 包?

    背景 我在 azure devops 上的私有 nuget feed 中有 nuget 包 我尝试从本地 TFS 中使用它们 这有效 但只持续了几个小时 在 azure devops 中 我导航到 Artifacts gt Connect
  • 使用 NSubstitute 模拟表达式

    我有一个包含以下方法签名的接口 TResult GetValue
  • 在 yii 中对 CListView 进行排序

    请考虑这一点 class User extends CActiveRecord public function relations return array articleCount gt array self STAT Article u
  • 如何在 Spark 窗口函数中使用 orderby() 降序排列?

    我需要一个窗口函数 该函数按某些键 列名称 进行分区 按另一个列名称进行排序并返回排名前 x 的行 这对于升序来说效果很好 def getTopX df DataFrame top x String top key String top v
  • 如何在 Java 中逐步解码大型多字节字符串文件?

    我有一个程序可能需要处理可能包含多字节编码的大文件 我当前执行此操作的代码存在创建内存结构来保存整个文件的问题 如果文件很大 这可能会导致内存不足错误 Charset charset Charset forName UTF 8 Charse
  • 仅当这些消息存在时,如何在 primefaces 中显示带有 requiredMessages 的弹出窗口?

    当我单击提交按钮时 我想显示一个弹出窗口 其中包含某些 inputText 字段的 requiredMessages 但仅限于有这些消息的情况 我已经尝试在 oncomplete 标签上使用 bean 变量和 javascript 但我无法
  • 反应本机嵌套堆栈导航显示空屏幕

    我正在尝试使用 Stack navigator 实现嵌套反应本机导航example https reactnavigation org docs 5 x nesting navigators 来自网站 我还检查了 SO 中的其他问题 但无法
  • 删除作品但不隐藏?

    为选择菜单创建过滤器并遇到一些问题 第一个是 filterContentMenu option contains a hide 不起作用但是 filterContentMenu option contains a remove does 实
  • 确保 SQLite 表只有一行

    如何强制表只有一行 以下是我尝试过的 这UPDATE触发器可能会起作用 但是CREATE触发肯定不会 对于创建 我想使用SET 然而 SETSQLite 不支持 CREATE TABLE IF NOT EXISTS config id TI
  • 二维条码与一维条码 - 速度、准确性、尺寸

    我想为我的移动项目需求之一实现条形码 要存储的数据量非常少 扫描速度 尺寸 移动相机识别所需的最小显示尺寸 这更重要 准确性 从典型的处理和SDK角度考虑 最好是zxing 我会使用二维码 特别是如果您打算使用手机摄像头 二维码具有使透视校
  • 仅在拉取请求中包含特定提交

    假设我已经克隆了存储库 创建了新分支 主题 1 进行了更改 提交了它们 然后将它们推送到远程存储库git push origin Topic1 之后我向 master 分支发出了拉取请求 然后在我的本地存储库上 我从分支 Topic1 签出
  • 即使手机锁定/睡眠时也能保持应用程序运行 - Ionic4

    应用程序是一个 ionic4 电容器应用程序 它也使用很少的 cordova 插件 我有一个与蓝牙设备关联的计时器功能 即使手机进入睡眠状态或处于锁定模式 该功能也必须保持运行 使用 cordova background mode 插件 该
  • 尝试在数据存储中存储 Utf-8 数据时出现 UnicodeEncodeError

    尝试将 utf 8 存储到数据存储中并收到错误 Traceback most recent call last File sinfo google appengine google appengine ext webapp init py
  • Android OpenGL 中 setLookAtM 方法的怪异

    作为 android 和 openGL 2 0 es 的初学者 我正在测试简单的东西并看看它是如何进行的 我在以下位置下载了示例http developer android com training graphics opengl touc
  • 获取与数据框中特定行值匹配的列名称

    我试图获取单元格值为 1 的每一行的列名 但是我的尝试没有成功 有人可以提供建议吗 library permute set seed 42 exampledf lt data frame allPerms c 1 2 3 4 example
  • AngularJS - 通过字符串获取控制器函数

    我正在使用ng include指令将具有基于范围内某些变量的动态模板和控制器 目前我有一张这样的地图 scope map key1 controller Ctrl1 templateUrl tmpl1 html key12 controll
  • 如何使用 Visual Studio 2010 编译 64 位 C DLL?

    我有一个用 C 语言编写的 DLL 源代码 这是代码通用多边形裁剪器 http www cs man ac uk toby alan software 如果您有兴趣 我通过主页上提供的 C 包装器在 C 项目中使用它 它带有一个预编译的 D
  • 如何在 Angular 1.5 组件中等待绑定(没有 $scope.$watch)

    我正在编写一个 Angular 1 5 指令 并且在尝试在绑定数据存在之前对其进行操作时遇到了一个令人讨厌的问题 这是我的代码 app component formSelector bindings forms controller fun