Ich habe einen MD-Dialog-Controller wie unten.Problem mit MD-Dialog
var HomeController = function ($scope) {
$scope.demoNonLinear = function() {
var element = document.querySelector('.mdl-stepper#stepper-non-linear');
if (!element) return false;
var stepper = element.MaterialStepper;
var steps = element.querySelectorAll('.mdl-step');
var step;
// Upgrade the component.
if (typeof componentHandler === 'undefined') {
console.log('Missing componentHandler');
} else {
console.log('componentHandler is available');
componentHandler.upgradeAllRegistered();
}
for (var i = 0; i < steps.length; i++) {
step = steps[i];
step.addEventListener('onstepnext', function (e) {
setTimeout(function() {
stepper.next();
}, 4000);
});
}
};
};
Die Linie
var element = document.querySelector('.mdl-stepper#stepper-non-linear');
nicht auf dem md-Dialog von HTML-Code stattdessen funktioniert es auf dem Hauptdokument. Kann ich es auf meinem MD-Dialog-Inhalt arbeiten lassen?
Plunker Link "https://plnkr.co/edit/ixMI8FKbhyTgL5sYieVa?p=preview"
wenn Element-ID hat Attribut Sie können wählen Sie einfach Element von id 'var element = document.querySelector ('# Schrittnichtlinear');' – aseferov
sein Kommen als null, aber ich habe ein Element wie –
robin
Sie können es funktionieren lassen, aber Sie ** sollten ** es nicht so machen. Fragen Sie niemals DOM im Controller ab. – dfsq