Ответы пользователя по тегу Angular
  • Как динамически изменять высоту textarea в директиве AngularJS?

    @IvanKalinin Автор вопроса
    Спасибо Александр Марченко за наводку. получилась такая директива (не откажусь от комментариев и рекомендаций)
    angular.module('myApp')
        .directive('textareaHeight', [
            '$timeout',
            function ($timeout) {
                return {
                    restrict: 'EA',
                    require: 'ngModel',
                    scope: {
                        desc: '=ngModel'
                    },
                    template: '<textarea textarea-height class="form-control" placeholder="Description" ng-model="desc" style="overflow:hidden;"></textarea>' +
                              '<div class="form-control textarea" style="min-height:26px;height:auto;position:absolute;opacity:0;">{{desc}}</div>',
                    link: function postLink(scope, element, attrs, ngModel) {
                        var me = this,
                            textarea = angular.element(element[0]),
                            textareaWidth = textarea.outerWidth(),
                            nextElement = angular.element(element).next();
    
                        function textareaHeight() {
                            nextElement.css('width', textareaWidth).css('word-wrap', 'break-word');
                            angular.element(element[0]).css('height', nextElement.outerHeight() + 2).css('transition', 'height 200ms ease')
                        }
    
                        $timeout(function () {
                            textareaHeight();
                        }, 1);
    
                        element.bind('input propertychange', function () {
                            textareaHeight();
                        });
                    }
                };
            }]);


    View:
    <div class="col-sm-11 col-sm-offset-1 p-tb-sm"> <!-- имена классов актуальны для моего шаблона -->
        <textarea-height ng-model="ControllerName.modelName"></textarea-height>
    </div>
    Ответ написан
    Комментировать
  • Как изменять colspan при изменении ширины окна angularJS?

    @IvanKalinin Автор вопроса
    Привожу решение рабочее решение вопроса
    $window.onresize = function(attrs){
                    $scope.colSpan = ($window.innerWidth <= 767) ? 4 : 6;
                    $scope.$apply(attrs.confirmAction);
                };
    Ответ написан
    Комментировать