将 AngularJs 1.5 升级到 1.6 - $compile reg 控制器实例的更改会影响哪些具体绑定?

2024-03-29

文档 https://docs.angularjs.org/guide/migration#migrate1.5to1.6-ng-services-%24compile从 AngularJs 1.5 升级到 1.6 时 $compile 的变化如下:

默认情况下禁用组件/指令控制器实例上的预分配绑定,这意味着它们在构造函数中将不再可用。

— AngularJS 开发人员指南 - 迁移到 V1.6 - $compile https://docs.angularjs.org/guide/migration#migrate1.5to1.6-ng-services-%24compile

文档中的升级示例如下(精简):

Before

.component('myComponent', {
  bindings: {value: '<'},
  controller: function() {
    //...
  }
})

After

.component('myComponent', {
  bindings: {value: '<'},
  controller: function() {
    this.$onInit = function() {
      // ...
    };
  }
})

我已经发现我必须使用相同的$onInit任何指令的函数使用绑定到控制器:true像这儿:

.directive('acAllocation', acAllocation);

  function acAllocation(SomeService) {
    return {
      restrict: 'E',
      replace: true,
      scope: {
        allocation: '=acAllocation'
      },
      controller: acAllocationController,
      controllerAs: 'vm',
      bindToController: true,
      templateUrl: 'path/acAllocation.html'
    };

    function acAllocationController() {

      var vm = this;

      this.$onInit = function () { //...

是否有任何其他类型的绑定受到此更改的影响?

或者是否足以应对成分 and 带有 bindToController:true 的指令?

重新表述相同的问题:In an Angular 1.7 application only using带 bindToController 的指令: false:我是否会遇到有关预分配绑定的任何问题?


当调用 $onInit() 生命周期方法时,绑定完成。这是唯一的保证。假设值在构造函数中可用不再安全,这会影响整个应用程序。

我建议迁移到 1.5 样式组件和 ES6,以便将来更容易迁移。

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

将 AngularJs 1.5 升级到 1.6 - $compile reg 控制器实例的更改会影响哪些具体绑定? 的相关文章

  • Angular UI bootstrap 手风琴 - 展开创建可滚动和页面“跳转”

    我正在使用 Angular ui 引导手风琴 一切都很好 除了当我展开一个足够大的手风琴部分时 浏览器会显示页面的滚动条 整个页面会向左摇动滚动条的宽度 当手风琴足够小以至于不需要滚动条时 页面会恢复到原始大小 我不知道该怎么办 这是否需要
  • XmlHttpRequest CORS POST 发送时不带 cookie

    我有一个 Rails 服务为我的 AngularJS 前端应用程序返回数据 该服务配置为通过返回足够的标头来允许 CORS 请求 当我发出 GET 请求来接收数据时 会发送 CORS 标头 以及我之前在登录时收到的会话 cookie 您可以
  • 在 Karma+AngularJS 测试中加载模拟 JSON 文件

    我有一个 AngularJS 应用程序 使用 Karma Jasmine 设置了测试 我想测试一个函数 它接受一个大型 JSON 对象 将其转换为应用程序其余部分更容易使用的格式 然后返回转换后的对象 就是这样 对于我的测试 我希望您有单独
  • 在 AngularJS 中将数组绑定到指令变量

    我正在尝试将数组放入模板中 以便我可以使用其中的各个值 我的问题是 该属性一旦进入我的模板就会变成字符串 因此它不再可以作为 var 0 访问 而是返回 字符串 的第一个字符 通常是 这是数据的简化设置 varForward 100 1 v
  • 如何使用 $http.get 获取 304 状态代码?

    如何使用 http get 获取 304 状态代码 http get menu json success function data status headers scope menu data console log status sho
  • cordova.js 导致引用错误“未定义需求”

    我想用恩科尔多瓦检测设备的网络状态 然而 一旦我包括科尔多瓦 js我收到一个错误 未捕获的引用错误 未定义 require cordova js 23 我已经安装并成功运行Node js and Cordova 我已经下载并安装了恩科尔多瓦
  • 为什么在这个函数定义中像这样使用“window.angular”?

    我正在尝试理解一个我需要用来与 Django 集成的 angularjs 文件 它有一个我不熟悉的奇怪语法 请记住我是一名初级开发人员 所以这可能是你的面包和黄油 它是这样的 function angular undefined use s
  • AngularJS 插值错误

    我正在显示房间的属性 作为我正在开发的房间管理应用程序的一部分 这是输出 如您所见 Beamer 英文投影仪 的值为 Sony lamp 01 12 2013 此输出是正确的 但当我打开控制台时 我看到一些有关插值的错误 更大的分辨率 Ca
  • AngularJs 数据绑定不适用于 ionic

    我觉得我在离子输入文本中遗漏了一些明显的东西 我在用angular ui router这条路线 stateProvider state findPersons url findPersons templateUrl html findPer
  • 如何删除 ng-repeat 的默认顺序

    如何停止动态表数据的 ng repeat 内部的默认排序 目前我收到以下订单 地址 客户 ID 姓名 但我想要的是以下顺序 客户 ID 名称 地址 任何帮助我将不胜感激 JS app controller MyController func
  • Angularjs 模式的复选框表现得很奇怪

    我有一个有角度的应用程序plunker http plnkr co edit rac8w9g8L0eX8mlXKuVn p preview 当我们单击该按钮时 它会打开一个包含项目列表的模式对话框 其中 2 项是根据复选框表输入中的条件进行
  • Angularjs 手表服务对象

    为什么我无法观看服务中的对象 我有一个简单的变量可以工作 但是一个对象不能工作 http plnkr co edit S4b2g3baS7dwQt3t8XEK p preview http plnkr co edit S4b2g3baS7d
  • 以角度选择项目后保持菜单打开

    单击我的菜单后 我的菜单将关闭toggleShare按钮 我怎样才能防止这种情况 我将 angularJS 与 Angular 材料一起使用 这是我的代码
  • 导航嵌套组件时创建面包屑 (Angular 2)

    我正在为此苦苦挣扎 这个想法是有一个组件 当浏览子视图时更新面包屑 例如
  • 在角度控制器中监听文档事件

    如何捕获角度控制器中的事件 我有文档级事件 所以我需要在角度控制器中捕获事件 这可能吗 Update 我有独立的 js 文件来处理来自相机的一些操作 document addEventListener myCameraEvent handl
  • Angular.js:如何从无序列表中获取 orderBy 或过滤器来工作?

    尝试根据价格和评级 在返回的对象中 进行排序 我宁愿用 ng click 和 li 来代替使用选择菜单 有没有办法做到这一点 我环顾四周 这是我能想到的最接近的 ul class restaurant filter li i class i
  • 使用 Angular 指令禁用文本选择

    我正在学习 JavaScript 和 AngularJS 我想使用 Angular Directive 禁用文本选择 我有该函数的 JavaScript 代码 function clearSelection if document sele
  • $resource.query 返回分割字符串(字符数组)而不是字符串

    我正在使用像下面这样的 Angular resource angular module app factory data function resource var Con resource api data update method P
  • 用户脚本 - 有没有办法将 jquery 代码注入 angularjs dom?

    所以我正在尝试为一个网站创建用户脚本 我无法更改网站的任何源代码 因为它不是我的 网站到处都使用 AngularJS 控制器 我研究了几天如何做到这一点 但没有成功 所以我尝试注入代码 nav after div test div 当我通过
  • Angular - 如何从 DOM 中删除我使用过 $compile 的元素?

    我需要的是两个 ng views 的功能 因为我不能 我想更改某些内容的innerHTML 并编译它 我遇到的问题是 当我再次更改内容时 我可以编译 但是 Angular 是否会自行删除绑定 或者我必须手动执行此操作 如果是这样 怎么办 编

随机推荐

  • 无法在 Mac OS X 10.8 上使用 Homebrew FreeTds 捆绑安装tiny_tds

    我的问题我可以采取哪些万无一失的步骤来 100 使其正常工作 我需要真正的指示 而不是简单的答案或对该过程的模糊概念描述 让我们来一探究竟 似乎某些地方存在冲突 并且我从 GitHub 上的 gem 开发人员那里获得了与我使用 Ruby R
  • 对字符串数组使用快速排序

    我是一名编程学生 我不会发布整个作业 而是请求帮助解决我已经尝试了几个小时才能理解的问题 我的任务是使用快速排序方法对字符串数组进行排序 作为这个问题的一部分 我承担的其他所有任务都很好 但是当我通过打印字符串数组来测试排序方法时 它完全混
  • try,catch和finally的执行顺序是什么[重复]

    这个问题在这里已经有答案了 如果我们在try中给出这样的return语句 执行顺序会是怎样的 try return a catch finally 这里如果try中有return的话执行顺序是怎样的 请告诉我 http docs oracl
  • 功能检测是否需要用户手势

    有没有办法检测是否调用play 是否允许在没有用户手势的情况下在视频元素上进行操作 在 Android Chrome 上会出现此警告 Failed to execute play on HTMLMediaElement API can on
  • 在 Blazor 中获取子组件列表的最佳方法

    我们需要获取子组件列表OnAfterRenderAsync父组件的方法 但是我们不知道该怎么做 我们尝试与RenderBuilder and GetFrames但这始终为空 我们有 Splitter 组件 其中 N 个分割区域作为子组件 我
  • 使用 Plist 字典进行应用程序设置

    我希望能够使用 plist 来进行我在应用程序中实现的设置 我想要一个字典 Settings 来保存我的数组 例如 Debug Option 1 Option 2 等 如何访问 Settings 字典下的 Debug 数组 NSArray
  • 导出存档时出错

    我在 Xcode 中使用导出功能时遇到问题 您的帐户已经有分发证书 所以我使用了解决方案xcodebuild 它生成 IPA 文件 但我在控制台中看到 Checking original app usr bin codesign verif
  • 从静态 JSON 加载内容 Next JS

    我有一个 Next JS 项目 其静态 JSON 放置在 pages api data json 中 如下所示 Card title Title 1 content Content 1 title Title 2 content Conte
  • 我可以与 scipy 的 odeint 集成,直到找到局部最大值吗?

    这是我在这里提出的第一个问题 所以请放轻松 我想知道是否有一种方法可以仅在找到指定变量的局部最大值之前集成 ODE 系统 以下是更多细节 我们称我们的 ODE 系统为dX dt F X where X t x1 t x2 t xn t 假设
  • 实体框架更新实体以及子实体(根据需要添加/更新)

    我之间存在多对多关系Issues and Scopes在我的 EF 上下文中 在 ASP NET MVC 中 我打开一个编辑表单 允许用户编辑特定问题 表单底部是一个复选框列表 允许他们选择适用于此问题的范围 当编辑一个问题时 它可能总是已
  • 选择所有直到第一次出现字符

    如果我有数据 其中 a 之前的字符数 总是不同的我怎么写SELECT语句来获取所有字符直到管道字符 样本数据 asdf adkfdll dd asdkdkdk da d WITH T C AS SELECT asdf adkfdll dd
  • 使用大型预编译头文件时 cc1plus.exe 崩溃

    我在使用 MinGW 预编译头文件时遇到问题 编译器似乎找到了预编译头文件 但 cc1plus exe 之后立即崩溃 cc1plus exe 已停止工作 我知道这可能与 cc1plus exe 的堆栈大小较低有关 因此我执行了以下操作来增加
  • 如何取消屏蔽 JavaFX 密码字段或正确屏蔽文本字段?

    在我的用户界面中 我有一个密码字段 http docs oracle com javafx 2 api javafx scene control PasswordField html像这样 呃 最下面那个 我希望用户能够选中您在图片中看到的
  • 更改 window.location.ancestorOrigins

    有什么办法可以改变或阻止使用window location ancestorOrigins在 Chrome 下的 iframe 网站中 出于安全原因 我不希望 iframed 页面能够检测到顶部 url 在 Firefox 下 如果指向另一
  • XCode 4 存档错误:找到一个或多个 PCH 文件,但它们无效

    在此记录一个奇怪的 XCode 4 错误以供将来参考 找到一个或多个 PCH 文件 但它们无效 清理并不能解决问题 您需要通过按住 ALT 并从菜单中选择产品来清理构建文件夹 清理 条目现在已更改为 清理构建文件夹 这将擦除不良的 PCH
  • 对project.json中的依赖关系感到困惑

    在project json 文件中 我们有一个依赖项部分 然后我们还有一个框架部分 其中每个框架下可以有更多依赖项 我很困惑为什么有时依赖项需要放在框架部分而有时需要放在主要依赖项部分 例如 在我的几个项目中 我在 dnxcore50 下有
  • Google Maps API v3 For 循环问题

    也许我完全偏离了我想做的事情 但我很想回到版本 2 因为我可以轻松地工作 但我希望对移动设备友好 我正在尝试生成一些标记 为了保存代码 我将标记生成放入 for 循环中 该循环循环遍历标记数组 有实际值而不是 long lat x x x
  • SELECT FOR UPDATE 在 MySQL 中保存整个表而不是逐行保存

    我将让多个客户端将数据输入数据库 并且我必须确保事务不会混合在一起 我在文档中读到START TRANSACTION and SELECT FOR UPDATE锁定它读取的每一行 SELECT FOR UPDATE 读取最新的可用数据 并在
  • 在多个编辑器之间共享 Quill 工具栏

    与伟大的Quill http quilljs com Javascript 的富文本编辑器 我试图让两个或更多编辑器共享同一个工具栏 我想 从文档 http quilljs com docs api 目前这是不可能的 所以我试图通过 API
  • 将 AngularJs 1.5 升级到 1.6 - $compile reg 控制器实例的更改会影响哪些具体绑定?

    文档 https docs angularjs org guide migration migrate1 5to1 6 ng services 24compile从 AngularJs 1 5 升级到 1 6 时 compile 的变化如下