javascript - 如何使用 Angular 从 ListView 模板传递数据以编辑 View 模板

标签 javascript angularjs asp.net-web-api

我正在使用 Angular 和 ASP.NET Web API 创建一个 SPA。我使用 ui-router 模块。我有一个 ListView ,显示带有编辑按钮的客户,我想通过该按钮将 customerId 传递到 editCustomerController.js 以用于从网络获取要编辑的客户API。 我似乎无法理解这一点。

CustomerView.html

<tr ng-repeat="customer in vm.customers">
  <td>{{$index + 1}}</td>
  <td>{{customer.identificationNumber}}</td>
  <td>{{customer.surname}}</td>
  <td>{{customer.otherName}}</td>
  <td>
     <a ui-sref="customerEdit" ng-click="vm.setSelectedCustomerId(customer.id)">
      <i class="fa fa-pencil-square-o"></i>
     </a>
  </td>
 </tr>

如何从此模板将 customerId 传递到 editCustomerController.js

最佳答案

正如@New Dev 所指出的,我能够使用 ui-sref="customerEdit({ id: customer.id })"解决我的问题。 将 CustomerView.html 编辑链接更改为

<td>
   <a data-ui-sref="customerEdit({ id: customer.id })">
     <i class="fa fa-pencil-square-o"></i>
   </a>
</td>

客户编辑状态

$stateProvider
     .state("customerEdit", {
         url: "/customers/edit/:id",
         templateUrl: "/editCustomerView.html",
         controller: "editCustomerController"
      })

editCustomerController.js

function editCustomerController($stateParams, customerResource) {
    var vm = this;
    vm.editableCustomer = {};
    vm.selectedCustomerId = $stateParams.id;

    customerResource.get({ id: vm.selectedCustomerId },
        function(data) {
            vm.editableCustomer = data;
            ...
        });
};

关于javascript - 如何使用 Angular 从 ListView 模板传递数据以编辑 View 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30473656/

相关文章:

c# - ASP.NET 样板 WebApi 方法

javascript - 第一次尝试在 Rails 中使用 Ajax : Controller rendering empty document?

javascript - 使用浏览器 XMLSerializer() 生成不带 XHTML 实体的 XML

javascript - 与数组 react 时发出嵌套映射

html - 在多选中查看所选选项的短值

asp.net-web-api - 如何将复杂类型参数(DTO 对象)传递给 GET 请求?

javascript - 使用Javascript限制在文本框中输入的字符

javascript - angularjs 拖放插件掉落问题

javascript - 如何让 Angular 应用程序访问后端 API

asp.net-mvc - ASP.Net MVC 4 和 WebApi 的身份验证