Javascript NGCROPER-单击按钮更改纵横比

Javascript NGCROPER-单击按钮更改纵横比,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我正在使用ngCropper,但我想动态更改按钮单击时的纵横比,就像在javascript cropper()中一样 这是我写的默认选项 vm.options = { maximize: true, viewMode: 3, aspectRatio: 2 / 3, crop: function(dataNew) { data = dataNew; } }; 当发生以下情况时,前端触发器中有2个按钮 ng click=vm.cropHorizonta

我正在使用ngCropper,但我想动态更改按钮单击时的纵横比,就像在javascript cropper()中一样

这是我写的默认选项

vm.options = {
   maximize: true,
   viewMode: 3,
   aspectRatio: 2 / 3,
   crop: function(dataNew) {
        data = dataNew;
   }
};
当发生以下情况时,前端触发器中有2个按钮
ng click=vm.cropHorizontal()
ng click=vm.cropSquare()

当我在函数中记录某些内容时,我在控制台中获得日志,但无法更改纵横比


请帮忙。提前感谢。

您需要修改ngCropper指令并在options.aspectRatio上添加一个监视程序,如下所示:

    scope.$watch('options.aspectRatio', function (aspectRatio) {
            if (!shown) return;
            element.cropper("setAspectRatio", aspectRatio);
    });
此代码可能会跟踪options.disabled watcher

在自定义JS中,当纵横比复选框更改时调用函数:

    $scope.updateAspectRatio = function () {
        $scope.options.aspectRatio = $scope.aspectRatio ? 2 / 1 : NaN;        
    }
    $scope.updateAspectRatio = function () {
        $scope.options.aspectRatio = $scope.aspectRatio ? 2 / 1 : NaN;        
    }