Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 很适合在控制器中编写DOM代码_Javascript_Angularjs - Fatal编程技术网

Javascript 很适合在控制器中编写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("+");

今天我用angular创建了一个页面,在controller中我为toggle div编写了一些jquery代码

现在我的问题是,在控制器中编写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应该转到View或您向指令指出的位置。控制器应该只管理应用程序的控制流

这就是你要找的吗


还有一个链接指向jsfiddle,它肯定是非常糟糕的做法。HTML应该转到View或您向指令指出的位置。控制器应该只管理应用程序的控制流

这就是你要找的吗


在大多数情况下,您不需要(也不应该)在使用AngularJS时直接进行DOM操作。如果你真的必须这样做,控制器绝对不是这样做的地方。在大多数情况下,当使用AngularJS时,你不需要(也不应该)直接进行DOM操作。如果你真的必须这样做,控制器绝对不是这样做的地方。