角度指令:指向第二个元素

时间:2015-04-03 02:19:22

标签: javascript angularjs

我想引用指令中的第二个元素。

基本上我想根据虚拟div的高度来调整文本框的大小。

<textarea vertical-align="dummyDiv"></textarea>
<div class="dummyDiv"></div>

在指令中,如何访问dummyDiv元素的属性?

1 个答案:

答案 0 :(得分:0)

以下是访问指令之外的其他元素的一种方法的快速示例。

http://plnkr.co/edit/S8EGeE4Z87jv6UQim6eG?p=preview

<textarea vertical-align secondary-elem="'dummyDiv'" ng-model="someScopeValue"></textarea>
<div class="dummyDiv"></div>

<script>
    angular.module('myApp', [])
        .controller('myController', function($scope) {
            $scope.someScopeValue = 'Sample Text';
        })
        .directive('verticalAlign', function($parse) {
            return {
                scope: {
                    secondaryElem: '='
                },
                require: '^ngModel',
                link: function(scope, elm, attrs, ngModelCtrl) {
                    var otherElem = angular.element('.' + scope.secondaryElem);

                    function process(inputValue) {
                        otherElem.text(inputValue);
                    }

                    ngModelCtrl.$parsers.push(process);

                    console.log(otherElem);
                }
            };
        });
</script>