6
मैंने निम्नलिखित सरल उदाहरण घटक बनाया है जो @ कॉम्पोनेंट सजावट की मेजबान संपत्ति का उपयोग कर घटक DOM तत्व में कुछ विशेषताओं और श्रोता को जोड़ता है। मेरे मामले में [ngClass] का कोई प्रभाव नहीं पड़ता है। क्या कोई जानता है कि इसे क्यों और कैसे ठीक किया जाए?घटक सजावट की मेजबान संपत्ति में ngClass काम नहीं करता
import {Injector, Component} from "angular2/core";
import {NgClass} from "angular2/common";
import {SelectionService} from "../selection-service"
@Component({
selector: 'my-component',
template: `<div>inner template</div>`,
host: {
'style': 'background-color: yellow', // works
'[ngClass]': "{'selected': isSelected}", // does not work
'(mouseover)': 'mouseOver($event)', // works
'(mouseleave)': 'mouseLeave($event)' // works
},
directives: [NgClass]
})
export class MyComponent {
private isSelected = false;
constructor(private selectionService:SelectionService) {
this.selectionService.select$.subscribe((sel:Selection) => {
this.isSelected = sel; // has no effect on ngClass
});
}
mouseOver($event) {
console.log('mouseOver works');
}
mouseLeave($event) {
console.log('mouseLeave works');
}
}
मैं कोणीय 2.0.0-बीटा 7 का उपयोग कर रहा हूं।
अपने जवाब के लिए धन्यवाद के साथ एक श्रृंखला है। 'NgClass' के अपने विशिष्ट मामले में मैंने' [class.selected] = "चुना गया है" 'जोड़ा, जो काम करता है। – thinkh
'ngClass' अधिकतर आवश्यक है जब आप जिन कक्षाओं को टॉगल करना चाहते हैं वे गतिशील होते हैं (माता-पिता या समान द्वारा पारित) अन्य मामलों में उपलब्ध बाध्यकारी अभिव्यक्ति ठीक काम करती हैं। –
मुझे मेजबान संपत्ति (वाक्यविन्यास और उपयोग) के बारे में विस्तृत स्पष्टीकरण कहां मिल सकता है? Angular.io पर एपीआई के डॉक्टर में लगभग कुछ भी नहीं है। – user1643352