上面的回答是正確的。 但我使用ng-include和ng-hide實現了相同的功能,ng-view和routing是什麼。
我創建了一個沒有控制器的局部頁面,並將它包含在父頁面中,並在單擊按鈕後隱藏了局部頁面,我只是顯示頁面。
路由在那裏有好處。您可以傳遞參數並根據瀏覽器歷史記錄更改視圖。
這是我的頁conatins下面的代碼裏面的子控制器。
<span ng-include="'/PartialPages/ChangeDetails.htm'"></span>
這是指我parital頁
<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屬性也包含頁面的擴展。
除非你做的事情有點不尋常,否則你在templateUrl中缺少「.html」? – altschuler
Url在服務器上重寫。 –