我正在尝试将对象数组传递给指令,在指令内部使用 ngRepeat 将传递的项目输出到嵌入的 html 中。这与这里讨论的问题基本相同。
我尝试了一些不同的方法,使用编译和链接功能,但我想我无法围绕范围界定。petebacondarwin 建议的解决方案 -这里确实有效,但我需要(想要)将数组传递给指令。
这是我当前的版本 - Plunker
指示
(function() {
"use strict";
function MyDirective() {
return {
restrict: "E",
scope: {
items: "="
},
link: function link(scope, element, attrs) {
var children = element.children();
var template = angular.element('<div class="item" ng-repeat="item in items"></div>');
template.append(children);
var wrapper = angular.element('<div class="list"></div>');
wrapper.append(template);
element.html('');
element.append(wrapper);
}
};
}
angular
.module("app.MyDirective", [])
.directive("myDirective", [MyDirective]);
}());
html
<my-directive items="main.items">
<h1>{{item.title}}</h1>
<p>{{item.content}}</p>
</my-directive>
谢谢