我正在尝试设置一个 Angular 指令,以便我可以重用一段 HTML。我已经设法实现了这一点,但是我面临的问题是,当我想从包含的 HTML 中将一些值传递给该模板化的 HTML 时。
为简单起见,我将使用具有多个地址的客户的示例(在此上下文中,客户是一个对象,每个地址实例是附加到客户的另一个对象)。
数据示例:
var customer = {
forename: "John",
surname: "Smith",
address1: {
street: "123 Street",
town: "Georgeville",
},
address2: {
street: "67 Maple Grove",
town: "SomeTown"
}
};
这是我的指令设置的示例:
var module = angular.module(...);
module.directive("address", function () {
return {
restrict: 'A',
templateUrl: '/AddressView.html'
};
});
我尝试的用法:
<div ng-model="customer">
<div address></div>
<div address></div>
</div>
这就是我希望能够将客户的地址传递给模板化 HTML 的方法:
<div ng-model="customer">
<div address ng-model="customer.address1"></div>
<div address ng-model="customer.address2"></div>
</div>
我可能误解了指令的目的,或者这可能是不可能的,但如果有人有任何建议,他们将不胜感激。
如果您需要我添加任何进一步的信息,请告诉我。
编辑
这是我设置的一个Plunker,试图说明我想要实现的目标。