大佬教程收集整理的这篇文章主要介绍了javascript – Ember.js弃用了registerImplementation,支持App.initializer,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是代码片段:
(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,请注明来意。