【发布时间】:2016-05-20 06:22:40
【问题描述】:
我有一个如下所示的 MD 对话框控制器。
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);
});
}
};
};
线
var element = document.querySelector('.mdl-stepper#stepper-non-linear');
不适用于 md-dialog html,而是适用于主文档。我可以让它在我的 md-dialog 内容上工作吗?
Plunker 链接 "https://plnkr.co/edit/ixMI8FKbhyTgL5sYieVa?p=preview"
【问题讨论】:
-
如果元素有 id 属性,你可以简单地通过 id
var element = document.querySelector('#stepper-non-linear');选择元素 -
它作为空值出现,但我有一个像
-
你可以让它工作,但你不应该这样做。永远不要在控制器中查询 DOM。
-
@dfsq 只是为了做一个测试。请告诉我如何查询它。
标签: angularjs