我有一些旧的jquery UI代码,我想升级到今天的标准。由于我的代码是为jQuery UI 1.7.3编写的,所以我决定在发布时升级到代码版本。可在此处找到发布列表:https://jqueryui.com/upgrade-guide/
因此,如果我打开1.8升级指南,我可以看到更改了什么。到现在为止还挺好。据我所知,以下更改适用于我的代码:
虽然我不确定如何处理_getData()
。我必须将其替换为_Option
或_getOption
吗?这在指南中并不清楚。
然而,更改我的代码会导致非工作应用程序。我希望有人可以帮助我。
这是(部分)我的旧代码:
_init: function () {
var index = this.options.index;
var num_ranks = this._RANKS.length;
var suit = parseInt(index/num_ranks);
this._setData('suit', suit);
this._setData('rank', index - (suit * num_ranks));
this.element.addClass('container')
.append('<div class="downturned">');
},
_suit: function () { return this._getData('suit'); },
_rank: function () { return this._getData('rank'); },
进一步在代码中:
$.widget('ui.card', Card); //Create the widget
$ui.card.getter = "is_downtunred";
以上我已经(使用指南)更改为:
_create: function () {
var index = this.options.index;
var num_ranks = this._RANKS.length;
var suit = parseInt(index/num_ranks);
this._setOption('suit', suit);
this._setOption('rank', index - (suit * num_ranks));
this.element.addClass('container')
.append('<div class="downturned">');
},
_suit: function () { return this._getOption('suit'); },
_rank: function () { return this._getOption('rank'); },
进一步在代码中(这里没有改变任何内容):
$.widget('ui.card', Card); //Create the widget
$ui.card.getter = "is_downtunred";
但这会制动应用程序。谁知道为什么?我错过了什么?
感谢您的帮助
答案 0 :(得分:0)
用this._getData()
替换this.option()
解决了我的问题