Javascript 很适合在控制器中编写DOM代码
今天我用angular创建了一个页面,在controller中我为toggle div编写了一些jquery代码 现在我的问题是,在控制器中编写DOM级别的代码或为此创建一个指令是一种好的做法,但我一次又一次地想要这种类型的代码Javascript 很适合在控制器中编写DOM代码,javascript,angularjs,Javascript,Angularjs,今天我用angular创建了一个页面,在controller中我为toggle div编写了一些jquery代码 现在我的问题是,在控制器中编写DOM级别的代码或为此创建一个指令是一种好的做法,但我一次又一次地想要这种类型的代码 vm.getDetails = function (id, event) { $('.more-row').slideUp(300); $('.open-content').text("+");
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应该转到View或您向指令指出的位置。控制器应该只管理应用程序的控制流 这就是你要找的吗
还有一个链接指向jsfiddle,它肯定是非常糟糕的做法。HTML应该转到View或您向指令指出的位置。控制器应该只管理应用程序的控制流 这就是你要找的吗
在大多数情况下,您不需要(也不应该)在使用AngularJS时直接进行DOM操作。如果你真的必须这样做,控制器绝对不是这样做的地方。在大多数情况下,当使用AngularJS时,你不需要(也不应该)直接进行DOM操作。如果你真的必须这样做,控制器绝对不是这样做的地方。