angularjs – 我的Breeze脚本上已弃用方法的版本问题

前端之家收集整理的这篇文章主要介绍了angularjs – 我的Breeze脚本上已弃用方法的版本问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在John Papa Pluralsight Video的教程中尝试实现会话部分时.
我收到以下错误

Uncaught TypeError: Object # has no method ‘extendQ’

(function () {
    'use strict';

    var app = angular.module('app',[
        // Angular modules 
        'ngAnimate',// animations
        'ngRoute',// routing
        'ngSanitize',// sanitizes html bindings (ex: sidebar.js)

        // Custom modules 
        'common',// common functions,logger,spinner
        'common.bootstrap',// bootstrap dialog wrapper functions

        // 3rd Party Modules
        'ui.bootstrap',// ui-bootstrap (ex: carousel,pagination,dialog)
        //'breeze.angular.q'
    ]);

    // Handle routing errors and success events
    app.run(['$route','$rootScope','$q',function ($route,$rootScope,$q) {
        // Include $route to kick start the router.
        breeze.core.extendQ($rootScope,$q);
        //use$q($rootScope,$q);

    }]);        
})();

重要的是要知道我正在处理的微风版本比原始视频上使用的版本更新.

我在breeze website搜索了一些答案,我发现了这个:

The to$q has been deprecated. It is superseded by the Breeze Angular Service.

但是我没有在教程示例中使用它.如何使用新的实现更改已弃用的实现?

更新:

这个链接帮助解决了这个问题:

http://www.breezejs.com/documentation/breeze-angular-service

微风库已更新,答案在此链接http://www.breezejs.com/documentation/breeze-angular-service

具体来自帖子底部代码

迁移是非常轻松的.

>从项目中删除breeze.angular.q.js脚本.
> Uninstall-Package Breeze.Angular.Q如果您使用NuGet.
>如上所述安装breeze.angular.js.
>更新您的index.html,将breeze.angular.q.js更改为breeze.angular.js.
>更新您的应用模块以依赖“breeze.angular”.
>在代码中找到一个名为“use $q”的地方,并将其替换为“breeze”依赖项.

例如,你可能会这样:

var app = angular.module('app',[
   // ... other dependencies ...
   'breeze.angular.q' // tells breeze to use $q instead of Q.js
]);

app.run(['$q','use$q',function ($q,use$q) {
       use$q($q);
}]);

对此:

var app = angular.module('app',[
   // ... other dependencies ...
   'breeze.angular'
]);

app.run(['breeze',function () { }]);

您还应该追踪并消除配置Breeze以使用“backingStore”模型库适配器和$http的代码.例如,你可以从这个:

function configBreeze($q,$http,use$q) {
    // use $q for promises
    use$q($q);

    // use the current module's $http for ajax calls
    var ajax = breeze.config.initializeAdapterInstance('ajax','angular');
    ajax.setHttp($http);

    // the native Breeze 'backingStore' works for Angular
    breeze.config.initializeAdapterInstance('modelLibrary','backingStore',true);

    breeze.NamingConvention.camelCase.setAsDefault();
}

对此:

function configBreeze() {
    breeze.NamingConvention.camelCase.setAsDefault();

猜你在找的Angularjs相关文章