Javascript AngularJS:使用按钮上带有$scope值的指令更新模型

Javascript AngularJS:使用按钮上带有$scope值的指令更新模型,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我想设计AngularJS的最佳实践,但我是全新的。我目前有一个$scope函数,我想把它转换成一个指令。我应该吗 我有一个表,它显示了DB表的概述,单击open进入一个模式输入表单,其中包含DB行的每个字段。我希望能够单击按钮并从表中删除当前处于焦点的行 我已经构建了RESTAPI来处理删除请求,并且在模态的控制器中有一个有效的remove()函数 我如何/应该将此移动到指令 当前工作代码:控制器 $scope.remove = function() { var request = {

我想设计AngularJS的最佳实践,但我是全新的。我目前有一个$scope函数,我想把它转换成一个指令。我应该吗

我有一个表,它显示了DB表的概述,单击open进入一个模式输入表单,其中包含DB行的每个字段。我希望能够单击按钮并从表中删除当前处于焦点的行

我已经构建了RESTAPI来处理删除请求,并且在模态的控制器中有一个有效的remove()函数

我如何/应该将此移动到指令

当前工作代码:控制器

$scope.remove = function() {
    var request = {
        type : $scope.type,
        id : $scope.row.id
    }
    console.log(request);
    $.post("Remove", request).success(function(data) {
        console.log(data);
        for (i = $scope.tableData.length - 1; i >= 0; i--) {
            if ($scope.tableData[i].id == $scope.row.id)
                $scope.tableData.splice(i, 1);
            $uibModalInstance.dismiss('cancel');
        }           
    }).error(function(data) {
        console.log(data);
    });

};
HTML:

<button type="button" id="updateChanges" class="btn btn-danger"
    ng-click='remove()' data-dismiss="modal">Delete</button>
删除

在我看来,该按钮没有“ng click”,而是一个“delete entry”属性,这是一个指令,它完成了与remove()现在相同的任务。

您需要将函数移动到服务,而不是指令。不要混淆逻辑和观点。指令主要用于视图、服务-对于逻辑,控制器连接它们。谢谢,我会这样做