我有一个看起来像这样的指令:
return {
restrict: 'A',
replace: true,
scope: {
personId: '@',
relationshipId: '@',
relationshipColumnsShown: '@',
personColumnsShown: '@'
},
templateUrl: 'app/views/communication/displayList.html',
controller: controller,
require: ['$scope', 'communicationLogDataService']
};
您可以看到有一个名为 personId 的属性,我在使用上述指令的父指令中设置它,如下所示
<div data-display-communication-log="" data-personId="currentPerson.Id" data-relationship-Columns-Shown="true" data-person-Columns-Shown="false">
</div>
您可以看到 personId 被设置为 parent 指令中的 currentPerson.Id 属性。现在在子指令中,我对 personId 值进行了监视设置。当子指令第一次加载并且值未定义时,这个手表只会被点击一次。首次加载时,父级上的 currentPerson 尚不存在,因为它是异步加载的。在父母中(不确定这是否是导致问题的原因)。
所以我的问题是如何将 currentPerson 的 Id 从父级传递到子级的 personId 中?