JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – Ember.js弃用了registerImplementation,支持App.initializer大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用HashLocation的扩展来为Ember.js实现一个hashbang url类型.

这是代码片段:

(function() {

var get = Ember.get,set = Ember.set;

Ember.Location.registerImplementation('hashbang',Ember.HashLocation.extend({ 

    getURL: function() {
        return get(this,'location').hash.substr(2);
    },setURL: function(path) {
        get(this,'location').hash = "!"+path;
        set(this,'lastSetURL',"!"+path);
    },onUpdateURL: function(callback) {
        var self = this;
        var guid = Ember.guidFor(this);

            Ember.$(window).bind('hashchange.ember-location-'+guid,function() {
                Ember.run(function() {
                    var path = location.hash.substr(2);
                    if (get(self,'lastSetURL') === path) { return; }

                    set(self,null);

                    callback(location.hash.substr(2));
                });
            });
        },formatURL: function(url) {
            return '#!'+url;
        }

    }));

})();

我通过重新打开路由器来使用它:

App.Router.reopen({
    location: 'hashbang'
});

但是,在运行应用程序时,我正在进行以下弃用:

DEPRECATION: Using the Ember.Location.registerImplementation is no longer supported. Register your custom location implementation with the container instead.

我找不到任何有关如何执行此操作的信息.有没有人对我必须做的事情有任何实施片段?

解决方法

根据弃用消息.改用容器.
(function() {

var get = Ember.get,set = Ember.set;

var hashbangLocation = Ember.HashLocation.extend({ 

    getURL: function() {
        return get(this,formatURL: function(url) {
            return '#!'+url;
        }

    });

App.register('location:hashbang',hashbangLocation);

})();

像往常一样重新打开它

App.Router.reopen({
    location: 'hashbang'
});

大佬总结

以上是大佬教程为你收集整理的javascript – Ember.js弃用了registerImplementation,支持App.initializer全部内容,希望文章能够帮你解决javascript – Ember.js弃用了registerImplementation,支持App.initializer所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: