javascript - AngularJS ng-重复父指令中的数据?

标签 javascript html angularjs angularjs-directive angularjs-ng-repeat

我试图从表单元素获取数据,然后使用 jQuery .after() 插入以显示可能的选择。我直接通过获取使用 AngularJS 加载的名为“data”的属性来从表单中获取可能的匹配项。现在的问题是,当我尝试 ng-repeat 插入新的内容时,它没有列出它。

'use strict';

angular
    .module('autoComplete', [])
    .directive('autoComplete', autoComplete);

function autoComplete($parse)  {
    var directive = {
        restrict: 'EA',
        require: '?ngModel',
        link: link,
    };

    return directive;

    function link(scope, elem, attr, ngModel) {
        var modelGet = $parse(attr['ngModel']);
        var modelSet = modelGet.assign;
        scope.$watch(function() {
            return modelGet(scope);
        }, function() {
            var string = modelGet(scope);
            if (string != undefined && string.length > 6) {
                var vm = this;
                vm.data = attr.data;
                vm.width = elem.outerWidth();
                elem.after('<div><ul class="list-group" style="position: absolute; width: '+vm.width+'px;"><li class="list-group-item" ng-repeat="codes in vm.data track by $index">{{code}}</li></ul></div>');

                console.log(vm.data); //This outputs the data just fine
            }

        });
    }
}

一旦放入,屏幕上生成的唯一内容就是 {{code}}。我假设我应该尝试以某种 Angular 编译它?

最佳答案

您可以尝试在 elem.after(... 之后添加 $scope.apply() 来帮助消化 $scope 中所做的更改。观看()

引用:https://stackoverflow.com/a/15113029/2242217

关于javascript - AngularJS ng-重复父指令中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30222943/

相关文章:

html - 在幕后,是否像 div 一样实现了 HTML5 标签(文章、部分、旁白、页眉、页脚)?

Visual Studio 2010 中的 JavaScript 格式设置

javascript - 将行为附加到由knockoutjs创建的元素

javascript - 尝试绘制从鼠标位置的工具栏中选择的形状-HTML5 CANVAS

javascript - 如何在 HTML 输入类型日期中重置为最小日期

angularjs - Uncaught Error : No module: ngRoute

javascript - CSS - 获取其他元素的属性

javascript - 获取 TD 数据表内按钮的值

javascript - 如何在angularjs中集成 Highcharts 范围 slider

javascript - Angular.js 和 HTML/如何并排组合 2 个元素