在 textarea 的名称属性中使用的 $index 通过 ng-repeat returns 循环使用 $index 作为指令中的字符串

$index used in name attribute of textarea lopped through ng-repeat returns with $index as string in the directive

我的文本区HTML:

<div data-ng-repeat="(key, contents) in growthEnvData.product_features" class="tile-inner tile-fixed">
<textarea  placeholder="Enter Product Pricing" class="form-placeholder features" ng-model="contents.features" rows="1" style="height:150px;" name="features-{{$index}}" ></textarea>
</div>

Angular JS指令:

app.directive('ckEditorInline', function () {
    return {
        require: '?ngModel',
        link: function (scope, elm, attr, ngModel) {

            var eleName = attr.name;
            var ck = CKEDITOR.inline(eleName);

            if (!ngModel) return;
            ck.on('instanceReady', function () {
                ck.setData(ngModel.$viewValue);
            });
            function updateModel() {
                scope.$apply(function () {
                ngModel.$setViewValue(ck.getData());
            });
        }
        ck.on('change', updateModel);
        ck.on('key', updateModel);
        ck.on('dataReady', updateModel);

        ngModel.$render = function (value) {
            ck.setData(ngModel.$viewValue);
        };
    }
};

当我在指令中得到 attr.name 时,它 returns features-{{$index}} 而不是 features-0。我希望它是 features-0。这该怎么做?请帮忙。

app.directive('ckEditorInline', function ($timeout) {
return {
    require: '?ngModel',
    link: function (scope, elm, attr, ngModel) {


        $timeout(function(){
            var ck = CKEDITOR.inline(elm[0]);

            if (!ngModel) return;
            ck.on('instanceReady', function () {
                ck.setData(ngModel.$viewValue);
            });
            function updateModel() {
                    scope.$apply(function () {
                    ngModel.$setViewValue(ck.getData());
                });
            }
            ck.on('change', updateModel);
            ck.on('key', updateModel);
            ck.on('dataReady', updateModel);

            ngModel.$render = function (value) {
                ck.setData(ngModel.$viewValue);
            };                
        }, 2000);
    }   

}; });

我在 2 秒后通过将超时设置为快速修复来尝试 运行 代码,现在它工作正常。如果您有任何替代解决方案,请告诉我。 问题在于在单个页面中初始化多个内联 ckeditor。