2013-12-16 6 views
0

ng-table 지시문을 사용하여 데이터가있는 테이블을 표시하고 있습니다. 테이블을 사용동일한보기 여러 각도로 표시된 컨트롤러

내 현재보기는 다음과 같습니다

<table ng-table="table_params" show-filter="true" ng-controller="table"> 
... 
</table> 

내가 같은 테이블 (만 다른 데이터)를 표시해야 더 많은 페이지의 몇 가지있다. 그래서 논리적 인 일은 하나의 뷰를 사용하는 것일 테지만 다른 컨트롤러로 테이블을 다른 데이터로 채우는 것 같습니다. 각도 방법과 그것을하는 방법이 무엇인지 잘 모르겠습니다. 난 당신이 ngRoute를 사용하는 경우 ng-view 지시

답변

1

, html로에 겨 컨트롤러를 넣어하지만, JS (즉, app.js)

.when('/table', { 
    templateUrl: 'views/table.html', 
    controller: 'tableCtrl' 
}) 
.when('/yetanothertable', { 
    templateUrl: 'views/table.html', 
    controller: 'yetanothertableCtrl' 
}) 

에 당신이 갖고 싶어하지 않는다 다른 컨트롤러와 별도의 섹션, 별도의 html로 넣고 ng-include를 사용하십시오. 귀하의 견해/table.html :

<div>Main content here...</div> 
<div ng-include="'views/extracontent.html'"></div> 

'views/extracontent.html'ng-controller를 입력하십시오. ng-include는 var도 받아들이므로 tableCtrl과 다른 뷰에 다른 뷰를 포함하도록 선언 할 수 있습니다.

+0

ng-router의 경우에 맞습니다. ng-router에 컨트롤러를 정의 할 때의 문제점은 가끔 한 페이지에 여러 컨트롤러가 있어야한다는 것입니다. 컨트롤러를 지정하지 않으면 보는 각도에 따라 컨트롤러를 사용하기가 더 쉽습니다. 템플릿에서. – Michael

+0

귀하의 의견을 반영하도록 답변을 편집했습니다. – Tino

1

과 라우팅을 할 angular-route을 사용하고

는하지 템플릿에서 $routeProvider 설정에서 컨트롤러를 설정합니다.

$routeProvider.when('/table/1', { 
    templateUrl: 'common_table.html', 
    controller: 'Table1Controller' 
}); 

문서 : ngRoute.$routeProvider#methods_when 귀하의 경우