所以,我有一个相对简单的Angularjs指令:
app.directive('myDirective', function () {
return {
restrict: 'E',
scope: {
site: '@',
index: '@'
},
template: '<div>{{site}}</div>',
replace: true,
}
});
这就是我在HTML中调用指令的地方
<div id="eventGraphic" class="span12">
<my-directive ng-repeat="site in IEvent.sites" site="{{site}}" index="{{$index}}"></my-directive>
</div>
考虑到每个site
都是一个对象,因此会产生以下输出(从浏览器中复制)
{"name":"Hurlburt","_id":"5148bb6b79353be406000005","enclaves":[]}
{"name":"Walker Center","_id":"5148cca5436905781a000005","enclaves":[]}
{"name":"test1","_id":"5148ce94436905781a000006","enclaves":[]}
{"name":"JDIF","_id":"5148cf37436905781a000007","enclaves":[]}
然而,如果我将指令中的模板更改为
template: '<div>{{site.name}}</div>',
它并不产生任何输出。这似乎是一个非常简单的用例,你有什么想法我可能做错了什么?期望的输出只是每个对象中的name
字段。