我正在使用angular和php构建项目。我有一个客户表,我可以检索所有表数据,当我输入特定客户时,它只向我显示customer_id而不是其他客户详细信息。有人可以帮忙吗?
customerCardDetailsCtrl.js - 显示特定客户所有信息的页面的控制器:
"use strict";
angular.module('dataSystem').controller('customerCardDetailsCtrl', function($scope, $http ,$routeParams, $location) {
var customer_id = $routeParams.customer_id;
$scope.customer_id = customer_id;
$http.get('http://localhost:8081/hamatkin/api/get-allCustomers.php/'+ customer_id).success(function(data){
$scope.customerDetail = data;
});
});
customerCardDetails.html - 仅显示customer_id
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<div class="customer">
<h1>כרטיס לקוח</h1>
<a href="/hamatkin/index.html#/customerCards">חזור לרשימת כרטיסי הלקוחות</a>
<h1 ng-bind="customerDetail.customer_id"></h1>
</div>
</body>
</html>
app.js -
.when('/customerCardDetails/:customer_id', {
controller: "customerCardDetailsCtrl",
templateUrl: '../hamatkin/Views/customerCardDetails.html',
screenTitle: "",
costumerHidden: false,
reportsHidden: true,
stockHidden: true,
isIncome_expensesHidden: true,
isNavTabHidden: false,
isFooterHidden: false,
ordersHidden: true
答案 0 :(得分:0)
设计错了。
在控制器中 - 您正在使用路由参数,尽管它们不在路由URL上。 你的api在customerDetail中返回数据,理想情况下,这个对象应该包含你正在寻找的客户的详细信息。所以在html绑定中使用它。
在html中 - 最外层的div使用ng-model,这是错误的,因为它的2路绑定使用ng-bind。
Ng-model有一个未定义的范围对象。
代码中有更多pblms。检讨它
答案 1 :(得分:0)
不知道你在使用ng-models="customers"
做什么,因为该变量未在任何地方定义 - 你可以删除该位。
可以删除从var kind_Of_Customer
开始到以$scope.activePath = null;
结尾的整个块。
您需要从GET请求返回的数据,因此请在GET请求的回调中处理它。或者你可以直接替换
<h1>{{customer_id}}</h1>
带
<h1>{{customerDetail.customer_id}}</h1>
。
或者,在加载请求时avoid {{}}
showing up:
<h1 ng-bind="customerDetail.customer_id"></h1>
(我还建议将这些请求放在一个服务中,将两者分开)