angularjs:将参数传递给dynamic指令

时间:2015-05-08 09:27:21

标签: angularjs angularjs-directive

我有这个简单的指令:

vim

我在控制器中创建:

app.directive('string', function () {
    return{
        template: '<input id="{{field.name}}" name="{{field.name}}" type="text" value="{{field.value}}"/>',
        restrict: 'E',
    };
});

这会输出没有值的文本字段。如何将for(var i=0;i<$scope.steps;i++){ var step = $scope.steps[i]; var element = document.createElement(step.type); var compiled = $compile(element)($scope); $(document.body).append(compiled); } 变量赋予我的指令并在文本字段中将其打印为'step'

1 个答案:

答案 0 :(得分:1)

您应该只使用ng-repeat来实现此目标

<string ng-repeat='field in steps'></string>

更新:执行ng-repeat所做的事情

for(var i=0;i<$scope.steps;i++){
   var childScope=$scope.$new();
   childScope.field=$scope.steps[i];
   var element = document.createElement(field.type);

   var compiled = $compile(element)(childScope);
   $(document.body).append(compiled);
}