खोज…


परिचय

एक्सटीजेएस कक्षाओं के बीच की घटनाओं की फायरिंग और सुनने की वकालत करता है। फायरिंग की घटनाओं और फायरिंग की घटनाओं के लिए सुनने से, कक्षाओं को एक दूसरे के वर्ग संरचना के 'गंदे' ज्ञान की आवश्यकता नहीं होती है और एक साथ युग्मन कोड को रोकते हैं। इसके अतिरिक्त, घटनाओं को एक ही चयनकर्ता के साथ सभी वस्तुओं के लिए एक सामान्य श्रोता की अनुमति देकर एक ही घटक के कई उदाहरणों को सुनना आसान बनाता है। अंत में, अन्य वर्ग भी पहले से मौजूद घटनाओं का उपयोग करने में सक्षम हो सकते हैं।

घटकों को सुनते नियंत्रक

Ext.define('App.Duck', {
    extend: 'Ext.Component',
    alias: 'widget.duck',
    initComponent: function () {
        this.callParent(arguments);
        this._quack();
    },
    _quack: function () {
        console.log('The duck says "Quack!"');
        this.fireEvent('quack');
    },
    feed: function () {
        console.log('The duck looks content.');
    },
    poke: function () {
        this._quack();
    }
});
    
var feedController = Ext.create('Ext.app.Controller', {
    listen: {
        components: {
            duck: {
                quack: 'feedDuck'
            }
        }
    },
    feedDuck: function (duck) {
        duck.feed();
    }
});

var countController = Ext.create('Ext.app.Controller', {
    listen: {
        components: {
            duck: {
                quack: 'addCount'
            }
        }
    },
    quackCount: 0,
    addCount: function (duck) {
        this.quackCount++;
        console.log('There have been this many quacks: ' + this.quackCount);
    }
});

var firstDuck = Ext.create('App.Duck');
// The duck says "Quack!"
// The duck looks content.
// There have been this many quacks: 1
var secondDuck = Ext.create('App.Duck');
// The duck says "Quack!"
// The duck looks content.
// There have been this many quacks: 2
firstDuck.poke();
// The duck says "Quack!"
// The duck looks content.
// There have been this many quacks: 3


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow