在Handlebars中,您可以更改当前范围,因此如果您有一个对象:
walrus: {
bubbles: 7,
zombies[
{name: 'Jim', hobby: 'pinocle'},
{name: 'Cassandra', hobby: 'privateering'},
{name: 'Ke$ha', hobby: 'yelling'}
],
address: {
city: 'Fresno',
state: 'CA'
}
}
然后我可以将该上下文发送到这样的模板:
<article class='walrus'>
<h2>I have {{ bubbles }} bubbles!</h2>
<ul>
{{#each zombies}}
<li>{{ name }} likes {{ hobby }}
{{/each }}
</ul>
<div class='address'>
{{#with address}}
<p>{{city}}, {{state}}</p>
{{/with}}
</div>
</article>
但是在Angular,如果我设置$ scope.walrus = walrus,我最终得到了这个:
<article class='walrus'>
<h2>I have {{ walrus.bubbles }} bubbles!</h2>
<ul>
<li ng-repeat="zombie in walrus.zombies">{{ zombie.name }} likes {{ zombie.hobby }}
</ul>
<div class='address'>
<p>{{walrus.address.city}}, {{walrus.address.state}}</p>
</div>
</article>
有没有办法让Angular识别它的范围,而不需要额外的walrus.
,zombie.
或(最糟糕的)walrus.address.
?
答案 0 :(得分:2)
有没有办法让Angular识别它的范围,而不需要额外的
walrus.
,zombie.
或(最糟糕的)walrus.address.
?
我不知道有什么方法可以做到这一点。
答案 1 :(得分:0)
对于没有嵌套的'海象',你可以这样做:
angular.extend($scope, $scope.walrus);
这将使用walrus对象扩展$ scope,现在您可以在模板中使用{{bubbles}}!
我使用了延伸,但我真的不知道这是否是你想要的正确方法!