在jQuery.ui.widget这个小工具工厂中,如果最终widget.bridge使用小部件污染jQuery.fn
而不考虑命名空间,那么什么是名称空间很好呢?
示例小部件:$.widget( 'mynamespace.mywidget', { ... } );
将在$.mynamespace.mywidget
中创建一个新原型 - 到目前为止一直很好。
但是,在我使用命名空间定义窗口小部件的情况下,我真的希望也使用像$('...').mynamespace.mywidget()
这样的命名空间而不仅仅是$('...').mywidget()
。为什么默认情况下它不是这样的,是不是不推荐这样的东西呢?
在小部件工厂中自动完成桥接操作是错误的。我想之后可以移动桥,但到那时,$ .fn.mywidget中的任何内容都将被覆盖。
答案 0 :(得分:0)
如果您有两个同名的小部件,您可以使用不同的名称手动创建网桥,如下所示:
$.widget('my.widget', { });
$.widget('your.widget', { });
$.widget.bridge('widget2', $.my.widget);
然后会给你$ .fn.widget和$ .fn.widget2,这样两者都可以使用。命名空间只是确保如果两个小部件具有相同的名称,则不会覆盖构造函数。