0

私のアプリには Main コントローラーがあり、そのコントローラーのテンプレート/ビュー内で、 を介して 2 番目のコントローラーを呼び出します<div ng-controller="BasketCtrl"></div>しかし、特定のビュー/テンプレートを使用するように「BasketCtrl」に指示するにはどうすればよいですか?

この「バスケット」はサイト全体で使用されるため、「$routeProvider」内では使用したくありません。

バスケットは、ショッピングカートの内容を示す各テンプレートのセクションになります。そのため、DIV 内に必要な HTML を作成したくありません。これは、多くのコードの重複につながります...おそらくここで何か問題がありますか?

4

2 に答える 2

2

バスケット ディレクティブを作成します。このようなもの:

app.directive('basket', function(){
    return {
        templateUrl: 'basket-template.html',
        link: function(scope, element, attr){
        }
    }
});

その後、必要な数のテンプレートに含めることができます。ディレクティブの詳細については、http: //docs.angularjs.org/guide/directiveをご覧ください。

于 2013-07-10T14:48:54.643 に答える
1

ng-controller を追加した div 内に BasketController をテンプレート化するだけです。ネストされたテンプレートです。

<div ng-controller="BasketCtrl">
    <!-- put template inside of basketctrl -->
</div>

または、basketctrl を別のファイル内に配置したい場合は、BasketCtrl 内で ng-include を実行し、そのテンプレートへのリンクを含めることができます。

<div ng-controller="BasketCtrl">
    <div ng-include="'foo/bar/BasketTemplate.html'">
</div>

そこに二重引用符と単一引用符の両方を必ず使用してください。それ以外の場合は機能しません。

于 2013-07-10T14:52:38.417 に答える