如何在angularjs中从控制器调用html文件?

如何在angularjs中从控制器调用html文件?,angularjs,Angularjs,我对angularjs是新手。我知道如何在控制器和视图之间传递数据,反之亦然 在node.js中,我们可以使用express.js呈现包含数据的html文件 对angularjs也可以这样做吗 例如: $scope.edit = function(id) { EmployeeService.editEmployee(id).then(function (response) { if(!response) { console.log("no resp

我对angularjs是新手。我知道如何在控制器和视图之间传递数据,反之亦然

在node.js中,我们可以使用express.js呈现包含数据的html文件

对angularjs也可以这样做吗

例如:

$scope.edit = function(id) {
    EmployeeService.editEmployee(id).then(function (response) {
        if(!response) {
            console.log("no response");
        } else {
            console.log(response.data);
        }
    }, function (err) {
        if(err) {
            console.log(err);
        }
    });
};

在上面的逻辑中,我需要用response.data呈现“edit.html”文件

您只需使用
ng include
指令即可实现这一点:

index.html

<html>
  <head>
    <script src="lib/script.js"></script>
  </head>

  <body ng-app="myApp" ng-cloak>
    <div ng-controller="MainCtrl">
      <div id="all-employees" ng-show="!selectedEmployee">
        <table>
          <thead>
            <tr>
              <td>ID</td>
              <td>Name</td>
              <td>Age</td>
              <td>Options</td>
            <tr>
          </thead>
          <tbody>
            <tr ng-repeat="employee in employees">
              <td>{{ $index }}</td>
              <td>{{ employee.name }}</td>
              <td>{{ employee.age }}</td>
              <td><button ng-click="edit($index)">Edit</button></td>
            <tr>
          </tbody>
        </table>
      </div>

      <div id="selected-employee" ng-hide="!selectedEmployee">
        <div ng-include="'views/edit.html'"></div>
        <button ng-click="selectedEmployee = undefined">Back</button>
      </div>
    </div>
  </body>
</html>
<div>
  <h3>Employee Detail</h3>
  <div>{{ selectedEmployee.name }}</div>
  <div>{{ selectedEmployee.age }}</div>
</div>
views/edit.html

<html>
  <head>
    <script src="lib/script.js"></script>
  </head>

  <body ng-app="myApp" ng-cloak>
    <div ng-controller="MainCtrl">
      <div id="all-employees" ng-show="!selectedEmployee">
        <table>
          <thead>
            <tr>
              <td>ID</td>
              <td>Name</td>
              <td>Age</td>
              <td>Options</td>
            <tr>
          </thead>
          <tbody>
            <tr ng-repeat="employee in employees">
              <td>{{ $index }}</td>
              <td>{{ employee.name }}</td>
              <td>{{ employee.age }}</td>
              <td><button ng-click="edit($index)">Edit</button></td>
            <tr>
          </tbody>
        </table>
      </div>

      <div id="selected-employee" ng-hide="!selectedEmployee">
        <div ng-include="'views/edit.html'"></div>
        <button ng-click="selectedEmployee = undefined">Back</button>
      </div>
    </div>
  </body>
</html>
<div>
  <h3>Employee Detail</h3>
  <div>{{ selectedEmployee.name }}</div>
  <div>{{ selectedEmployee.age }}</div>
</div>

员工详细信息
{{selectedEmployee.name}
{{selectedEmployee.age}

您想在模式中还是在同一窗口中呈现
edit.html
?我显示所有员工的同一窗口。因此,您将用
edit.html
替换所有员工
?不,我在edit.html文件中有一个表单。我只想用响应数据填充它。是的,但是
edit.html
文件是通过
标记加载到您的html中的,还是您将其放入
$templateCache
中的?