2

ハンドルバーでは、現在のスコープを変更できるため、オブジェクトがある場合:

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>

walrus.Angular にそれがどのスコープにあるかを認識させ、余分な、zombie.、または (最悪) を必要としない方法はありwalrus.address.ますか?

4

2 に答える 2

2

walrus.Angular にそれがどのスコープにあるかを認識させ、余分な、zombie.、または (最悪) を必要としない方法はありwalrus.address.ますか?

私はこれを行う方法を知りません。

于 2013-03-13T02:15:10.580 に答える
0

ネストされていない「セイウチ」の場合、これを行うことができます:

angular.extend($scope, $scope.walrus);

これにより、walrus オブジェクトで $scope が拡張され、テンプレートで {{ bubble }} を使用できるようになりました!

私は拡張を使用しましたが、これがあなたが望むことを行う正しい方法であるかどうかは本当にわかりません!

于 2013-05-01T13:22:48.597 に答える