AngularJS -$compileProvider.preAssignBindingsEnabled 不是一个函数

2023-12-07

我在尝试执行以下操作时收到以下错误消息gulp serve在我的 AngularJS(10.6.1 版)应用程序上:

Error: [$injector:modulerr] Failed to instantiate module myAppName due to:
$compileProvider.preAssignBindingsEnabled is not a function
@http://localhost:9805/app/scripts/app.js:43:9
invoke@http://localhost:9805/lib/angular/angular.js:5108:16
runInvokeQueue@http://localhost:9805/lib/angular/angular.js:4997:11
loadModules/<@http://localhost:9805/lib/angular/angular.js:5007:11
forEach@http://localhost:9805/lib/angular/angular.js:387:11
loadModules@http://localhost:9805/lib/angular/angular.js:4987:5
createInjector@http://localhost:9805/lib/angular/angular.js:4904:19
doBootstrap@http://localhost:9805/lib/angular/angular.js:1936:20
bootstrap@http://localhost:9805/lib/angular/angular.js:1957:12
angularInit@http://localhost:9805/lib/angular/angular.js:1842:5
@http://localhost:9805/lib/angular/angular.js:35431:5
mightThrow@http://localhost:9805/lib/jquery/dist/jquery.js:3534:21

调用代码如下所示:

 /*
 * Main module of the application.
 */
angular
    .module('dataPipelineApp', [
        //various parameters
    ])
    .config(['$compileProvider', '$httpProvider', '$breadcrumbProvider', function ($compileProvider, $httpProvider, $breadcrumbProvider) {
        //initialize get if not there
        if (!$httpProvider.defaults.headers.get) {
            $httpProvider.defaults.headers.get = {};
        }
        $compileProvider.preAssignBindingsEnabled(true); //err here
    $httpProvider.defaults.headers.get['If-Modified-Since'] = 'Mon, 26 Jul 1997 05:00:00 GMT';
    // extra
    $httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache';
    $httpProvider.defaults.headers.get['Pragma'] = 'no-cache';

    $compileProvider.debugInfoEnabled(false); // speed up angular performance to not print debug info;
    $breadcrumbProvider.setOptions({
        templateUrl: 'app/views/headerBar.html'
    });
    //$httpProvider.defaults.headers.common['Access-Control-Allow-Origin'] = '*';
    $httpProvider.interceptors.push("AddToken");
    $httpProvider.interceptors.push("UnauthorizeInterceptor");
}])

类似的搜索似乎坚持认为这是版本控制差异。对这个问题的类似搜索似乎也表明角度模拟的版本控制存在问题,但是我们根本不使用角度模拟。我尝试将我的 Angular 降级到 1.5.5,其他搜索表明您不能超过该版本 - 尽管我所有的同事都在 Angular 1.6.10 或更高版本上运行此版本。我还尝试使用 npm 来安装 angular-mocks,尽管没有使用,并同步版本以匹配我们的 Angular,但无济于事。我真的不知道该怎么做,也不知道实际发生了什么,为什么它找不到那个函数?

编辑:我还检查了浏览器,通过运行使用控制台进行搜索angular.version搜索 - 结果发现 1.7.2 是我的 Angular 版本,尽管我重做了gulp build and gulp inject servenpm 安装旧版本后。看来它没有正确选择正确的版本 - 我是否缺少某些东西来强制降级安装?


The $compileProvider.preAssignBindingsEnabled该标志在 AngularJS V1.6 中已弃用,并已从 AngularJS V1.7 中删除。

AngularJS 团队强烈建议尽快迁移您的应用程序以不再依赖它。AngularJS V1.6 已于 2018 年 7 月 1 日终止生命。

来自文档:

Due to 38f8c9,指令绑定在构造函数中不再可用。

此前,$compileProvider.preAssignBindingsEnabled标志得到支持。该标志控制绑定是在控制器构造函数内部可用还是仅在$onInit钩。现在,绑定在构造函数中不再可用。

要迁移您的代码:

  • 如果您指定$compileProvider.preAssignBindingsEnabled(true)您需要首先迁移代码,以便标志可以翻转到false。有关如何执行此操作的说明可在“从 1.5 迁移到 1.6”指南。然后,删除$compileProvider.preAssignBindingsEnabled(true)陈述。

— AngularJS 开发人员指南 - 迁移到 V1.7 - 编译

来自文档:

Due to bcd0d4,默认情况下禁用组件/指令控制器实例上的预分配绑定,这意味着它们将不再在构造函数内可用。仍然可以重新打开它,这在迁移过程中应该会有所帮助。预分配绑定已被弃用,并将在未来版本中删除,因此我们强烈建议您尽快迁移您的应用程序,使其不再依赖它。

依赖于存在的绑定的初始化逻辑应该放在控制器中$onInit()方法,保证在分配绑定后始终调用该方法。

— AngularJS 开发人员指南 - 迁移到 1.6 - 编译

Note:

2018 年 7 月 1 日,对 AngularJS 1.6 的支持结束。有关更多信息,请参阅AngularJS MISC - 版本支持状态.

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

AngularJS -$compileProvider.preAssignBindingsEnabled 不是一个函数 的相关文章

随机推荐

  • Phonegap Build:将图像下载到应用程序的文件夹之一

    如果我直接指定路径 我就可以下载图像 文件 存储 sdcard0 如何将图像保存到应用程序中的文件夹之一 我试过this设置应用程序路径的方法 但它对我不起作用 这是我到目前为止所使用的 如果您想将图像保存到 SD 卡 它可以工作 var
  • 有没有一种惯用的方法来缓存 Spark 数据帧?

    我有一个大型镶木地板数据集 正在使用 Spark 读取 读取后 我会筛选行的子集 这些行在应用不同转换的许多函数中使用 以下与我想要完成的逻辑相似但不完全逻辑 df spark read parquet file special rows
  • 强制/保护 POST 参数

    我的标题可能含糊不清 所以请检查下面我的情况 我有一个网络应用程序来管理员工列表 该应用程序采用中心辐射模式设置 单击员工列表中的员工会重定向到一个新窗口 显示所选员工的个人详细信息以进行可能的更新 该应用程序使用 HTTPS 通过 GET
  • 如何使用 Oauth2 使 API Gateway 的身份验证/授权过程无状态?

    在我的设计中 我有一个API网关 spring cloud api gateway 授权服务器 Oauth2 和资源服务器 微服务 我还有一个 CAS 服务器 但现在为了简单起见可以忽略它 我只是想使用API 网关来重定向客户端请求 如果用
  • SQL 查找和替换字符串的一部分

    我试图在字符串中找到某些文本 catid 18 其中除此之外每个字符串都不同 我之前在下面使用过这个查询 但它似乎只有在您知道整个字符串的情况下才有效 update TABLE NAME set FIELD NAME replace FIE
  • Python:TIFFReadDirectory 警告:带有标签的未知字段

    problem 我可以使用以下命令加载图片Image kivy 中的模块 This这就是我如何安装 kivy 以便我可以查看 TIFF 文件 但现在每次加载 TIFF 图像时 我都会收到一个又一个弹出警告 从而中断程序 TIFFReadDi
  • MVC 3 ninject 自定义成员资格上下文处置错误

    我有一个自定义成员资格 它使用我的 CustomerService 首先使用 EF 代码 4 1 与数据库进行通信 我使用 ninject 将 CustomerService 注入到我的自定义会员资格类中 但是当我尝试验证时 我收到上下文处
  • 嵌套类与单独的类文件

    至少在java中 我的编译器不允许我将两个 或更多 单独的类放在一个类文件中 它迫使我在同一个包中创建多个文件 我明白这是为什么 我也同意这个原则 但是 我意识到我可以轻松地嵌套类并将整个程序 不包括导入的库 包含在单个文件中 我想这会被人
  • 转换为 Dalvik 格式失败 facebook/AccessToken$SerializationProxyV1

    这是我的日志 2013 02 09 19 48 50 Dex Loader Unable to execute dex Multiple dex files define Lcom facebook AccessToken Serializ
  • 是否可以将相同的 DLL 添加两次到 AppDomain 中,或者最好重新使用加载的 DLLC?

    我的应用程序在应用程序执行期间多次加载相同的 DLL AssemblyName assemblyName AssemblyName GetAssemblyName plugin FullPathToDLLFile loadedPlugin
  • 使用 Write-Host 时输出中出现不必要的空间

    当我使用Write Host在一个Foreach Object 我在输出中得到了不必要的空格 write host http contoso com personal ADUserName Output http contoso com p
  • 自定义多色进度条

    我的应用程序要求是自定义进度条 具有多色指示的自定义进度 例如 小于 30 的进度用绿色显示 小于 60 和大于 30 的进度用黄色显示 最后从 60 到 100 的进度用红色显示 我想要这样的进度条 http www android2fr
  • Cesium - 使用相机缩放多边形以在放大/缩小时匹配经纬度位置

    我正在努力解决相机功能 我认为 可以提供一种方法强制我的多边形粘在我房子的顶部缩小 放大和旋转 或相机移动 这个问题遵循较早的question问题已解决 现在我需要一点帮助来解决我的下一个问题 我试图遵循的示例代码位于黄金标准似乎已融入现有
  • 使用 create-react-app 的多个入口点

    我的页面包含 20 的 React 组件和 80 的普通 html 内容 有必要在页面的不同位置放置多个React组件 因此我需要在index html中使用多个入口点 我想使用create react app 但我不想使用redux 因为
  • Magento - 在管理中不可见/不可编辑的产品属性

    是否可以通过代码 或手动 创建通过管理编辑产品页面不可见 因此不可编辑 的产品属性 如何 该属性只需要在php模块中使用 保存 加载 对的 这是可能的 如果您在安装脚本中执行此操作 您应该设置 visible 为假 installer gt
  • 如何建立友谊关系模型

    我一直在试图弄清楚如何做到这一点 即使查看其他示例 我也无法弄清楚 所以也许我可以获得一些个性化的帮助 我有两张桌子users status and friendships In the users status表我有一个字段userid
  • 如何修复React中的map is not a function错误?

    我遇到错误 map is not a function进行 API 调用时 我不久前才开始学习 React 和 API 我尝试将状态更改为对象 但未定义 因为 我得到的地图不是一个函数 也许我缺少调用 API 的东西 这是下面的代码 fun
  • 在ABAP中找到两个数据集的差异?

    我有一组值 foo bar blue 我有一个看起来像这样的表 ID my col 1 foo 2 bar 我想要设置值减去所有可用的 my col 值 foo bar blue 减去 foo bar 结果应该是 蓝色 在ABAP中如何做到
  • Jade Templates - 动态调用 Mixin

    如何使用 json 中的字符串输入 Jade 模板来动态加载 mixin 下面 目标是twoColumn jade加载foo and bar mixins 两列 jade mixin twoColumns obj container flu
  • AngularJS -$compileProvider.preAssignBindingsEnabled 不是一个函数

    我在尝试执行以下操作时收到以下错误消息gulp serve在我的 AngularJS 10 6 1 版 应用程序上 Error injector modulerr Failed to instantiate module myAppName