上記の答えは正しいです。しかし、ng-includeとng-hideを使用して同じことを達成しました.ng-viewとroutingが正確に何をするかです。
コントローラーなしで部分ページを作成し、それを親ページに含め、ボタンをクリックした後にその部分ページを非表示にしました。ページを表示しているだけです。
ルーティングには利点があります。パラメータを渡し、ブラウザの履歴に応じてビューを変更できます。
これは、子コントローラー内のコードの下にある私のページです。
<span ng-include="'/PartialPages/ChangeDetails.htm'"></span>
私の頭のページを指します
<div id="ChangeInfo" ng-show="datashow">
<table width="100%">
<thead>
<tr>
<th>File Name</th>
<th>File Create Date</th>
<th>File Modified Date</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="file in FilesDetails" ng-class="{TableStrip : ($index % 2)}">
<td>{{file.FileName}}</td>
<td>{{file.CreateDate}}</td>
<td>{{file.ModifiedDate}}</td>
</tr>
</tbody>
</table>
<hr />
</div>
そしてコントローラーコード
var deploymentVerifierModule = angular.module("DeploymentVerifierApp", ['DeploymentServiceModule']);
deploymentVerifierModule.controller("DeploymentVerifierCntrl", function ($scope, DeploymentService) {
$scope.datashow = false;
$scope.PleaseWait = false;
$scope.VerifyChange = function () {
//Get the Change ticket number from textbox
$scope.PleaseWait = true;
var changeticketnum = document.getElementById("ChangeNumber").value;
DeploymentService.GetChangeDetails(changeticketnum).then(function (data) {
$scope.FilesDetails = angular.fromJson(data);
$scope.PleaseWait = false;
$scope.datashow = true;
}, function (error) { });
};
});
それでも、コントローラーをテンプレートに入れたい理由がわかりませんでした。また、templateurl プロパティには、ページの拡張子も含まれています。