我試圖從MongoDB查詢返回的屬性傳遞給Angular中的指令,但由於某種原因,它不會傳遞「_id」屬性。當我查看父級的$ scope中返回的記錄時,我可以看到每個對象實際上都有一個「_id」。但是,當我去檢查我試圖呈現的指令的$範圍時,我可以看到它具有除「_id」之外的所有屬性。Ng-重複沒有將某些屬性不帶引號傳遞給範圍
我父模板代碼:
<div id=cards>
<div ng-repeat='card in cards' class='card'>
<card-directive
_id={{card._id}} attack={{card.attack}} cost={{card.cost}}
health={{card.health}} img={{card.img}} name={{card.name}}
hero={{hero}} rarity={{card.rarity}} type={{card.type}}
class={{hero}} add={{add}} faction={{card.faction}} >
</card-directive>
</div>
</div>
我的指令代碼:
function cardDirective() {
return {
restrict: 'E',
scope: {
'_id': '@',
'img': '@',
'attack': '@',
'cost': '@',
'health': '@',
'name': '@',
'rarity': '@',
'type': '@',
'hero': '@',
'add': '@',
'faction': '@'
},
有什麼特別之處包括以下劃線開頭的屬性?
你不使用它,就像這樣:'_id = {{card._id}}',你用這樣的:'_id =「{{card._id}} 「'。此外,對於以下劃線開頭的屬性名稱,請檢查此https://stackoverflow.com/a/79022/4488121 –
AngularJS指令將具有下劃線的屬性標準化爲camelCase。有關更多信息,請參閱[AngularJS開發人員指南 - 指令規範化](https://docs.angularjs.org/guide/directive#normalization)。 – georgeawg