gpt4 book ai didi

jQuery UI Widget Factory 私有(private)属性

转载 作者:行者123 更新时间:2023-12-01 01:01:06 24 4
gpt4 key购买 nike

我正在开发 jQuery UI 小部件,但遇到了一些问题。这就是我实例化插件的方式。

$('#myId0, #myId1').mywidgetname();

这是我的插件代码:

;(function ( $, window, document, undefined ) {
$.widget( "namespace.mywidgetname" , {
_create: function(){
debugger;
this._myPrivateProperty = 2;
....

问题是,当调试器第二次停止时,我已经用值 2 实例化了 this._myPrivateProperty。我以为该小部件会被实例化两次,但事实并非如此。

此外,如果我为每个元素指定不同的选项,如下所示:

$('#myId0').mywidgetname({myVarA: 'someText'});
$('#myId1').mywidgetname({myVarB: 'someText'});

变量 this.options 对于每个选项都是不同的。现在有人如何将“私有(private)”属性设为私有(private)吗?

谢谢

最佳答案

我发现问题了。似乎不应该像这样在插件根目录中定义属性:

;(function ( $, window, document, undefined ) {
$.widget( "namespace.mywidgetname" , {
myPrivateVar = {},
_create: function(){

this.myPrivateVar.test = 2;
....

这保留了所有实例的引用。但您应该在 _create 方法中声明变量。

;(function ( $, window, document, undefined ) {
$.widget( "namespace.mywidgetname" , {
_create: function(){
this.myPrivateVar = {};
this.myPrivateVar.test = 2;
....

关于jQuery UI Widget Factory 私有(private)属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23180283/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com