我有这个简单的指令:
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'
?
答案 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);
}