デフォルトの構造を使用してRails 4アプリにangularjsをセットアップしようとしていますが、これを理解するのに苦労しています。Angular Seed
私のレイアウトは 2 つの部分で構成されています。最初の部分 (左側の部分) には、製品のリストが含まれています。
%ul
%li{ 'ng-repeat' => 'product in products | filter:search' }
%a{ 'ng-click' => 'open(tier)' }
%img{ 'ng-src' => '{{ tier.logo }}' }
もう 1 つの部分は、製品の詳細を表示するためのものですが、製品版としての他の部分と、新しい製品を作成するためのフォームも表示されます。その時点で、私は本当に混乱しています。これまでのところ、ng-switch
右側に製品の詳細を表示するためにヘルパーを使用していました。
%ng-switch{ 'on' => 'details()' }
%div{ 'ng-switch-when' => "true" }
%header
%span
.h3 {{ opened.name }}
.panel-body
.tab-content
.tab-pane.active
%section.scrollable
%img{ 'ng-src' => '{{ opened.logo_large }}' }
そして、私のコントローラは次のようになります:
controller('TiersController', ['$scope', '$routeParams', 'Tiers', 'ngProgress', '$timeout', function($scope, $routeParams, Tiers, ngProgress, $timeout) {
$scope.tiers = Tiers.query();
$scope.open = function(tier){
if( $scope.isOpen(tier) ){
$scope.opened = undefined;
}else{
$scope.opened = tier;
}
};
$scope.isOpen = function(tier){
return $scope.opened === tier;
};
$scope.details = function(){
return $scope.opened !== undefined;
};
$scope.close = function(){
$scope.opened = undefined;
};
}])
これまでのところ、左側 (製品のリスト) と右側 (詳細) の両方が同じビュー ファイルにあります。製品をクリックして詳細を表示すると、問題なく動作します。しかし、フォームなどの右側に別のビューを挿入したい場合はどうすればよいでしょうか? このプロダクト レイアウトに何らかのパーシャルを挿入するにはどうすればよいでしょうか? 問題は、保守性のために、すべての異なるビューを同じファイルに書き込む必要がないということです。
私が明確だったことを願っています。助けてくれてどうもありがとう