今天,我正在用Angular创建一个页面,在控制器中,我正在为Toggle Div。
现在我的问题是,在控制器中编写DOM级代码或为此创建指令是一个好习惯,但是我希望一次又一次地代码。
vm.getDetails = function (id, event) {
$('.more-row').slideUp(300);
$('.open-content').text("+");
if ($(event.currentTarget).hasClass('open-content')) {
$('.open-content').removeClass('open-content');
return;
}
service.getDetails(id, function (err, model, logs) {
if(err) return;
vm.model.items = model;
vm.model.logs = logs;
vm.model.payRunDetailId = id;
$(event.currentTarget).parent().parent().next().find('td').stop().slideToggle();
$(event.currentTarget).addClass('open-content');
$(event.currentTarget).text("-");
});
};
它绝对真的很糟糕练习。HTML应该去查看或指出指令。控制器应仅管理放置的控制流。
这是您要寻找的吗?
https://github.com/ericwvgg/angularslideables
也有链接到JSFIDDLE