Questions tagged «mixins»

2
如何使用mixins Magento 2.1.1重写小部件功能
我们有 swatch-renderer.js 此文件中有一些小部件。 .... $.widget('mage.SwatchRenderer', { .... /** * @private */ _init: function () { if (this.options.jsonConfig !== '' && this.options.jsonSwatchConfig !== '') { this._sortAttributes(); this._RenderControls(); } else { console.log('SwatchRenderer: No input data received'); } }, /** * @private */ _sortAttributes: function () { this.options.jsonConfig.attributes = _.sortBy(this.options.jsonConfig.attributes, function (attribute) { …

2
Magento 2所谓的“ mixins”是如何实现的?
Magento 2的基于RequireJS的对象系统包含一个称为“ mixins”的功能。Magento 2 mixin不是软件工程师通常认为的mixin / trait。相反,Magento 2 mixin允许您在主程序使用该对象/值之前修改RequireJS模块返回的对象/值。您可以这样配置Magento 2混合(通过requirejs-config.js文件) var config = { 'config':{ 'mixins': { //the module to modify 'Magento_Checkout/js/view/form/element/email': { //your module that will do the modification 'Pulsestorm_RequireJsRewrite/hook':true } } } }; 然后,您需要拥有hook.js(或您配置的任何RequireJS模块), define([], function(){ console.log("Hello"); return function(theObjectReturnedByTheModuleWeAreHookingInto){ console.log(theObjectReturnedByTheModuleWeAreHookingInto); console.log("Called"); return theObjectReturnedByTheModuleWeAreHookingInto; }; }); 返回一个函数。Magento将调用此函数,并传递对要修改的“模块”的引用。在我们的示例中,这将是RequireJS模块返回的对象Magento_Checkout/js/view/form/element/email。这也可能是一个函数,甚至是一个缩放器值(取决于RequireJS模块返回的值)。 该系统似乎已被调用,mixins因为如果原始RequireJS模块返回的对象支持该extend方法,则它允许您创建类似混合的行为。 define([], …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.