做合約作業時候回頭看客戶作業,看到 :sn 腦袋又給他卡住一下。
在CustomerInfo.js (客戶列表) 裡
//編輯
function edit(item) {
$state.go('customer.form', { sn: item.CUSTOMER_SN });
}
在CustomerForm.js裡
//視窗動作
vm.form = Form[!$stateParams.sn ? 0 : 1];
//客戶資料
if ($stateParams.sn) {
var option = { condition: { CUSTOMER_SN: $stateParams.sn }, plan: 'Contact' };
AjaxService.Get('Customer', option).then(function (data) {
vm.item = data;
});
}
在Config.json裡面
[
{
"system": "CRMS",
"name": "customer",
"url": "/crms/customer",
"path": "Basic/",
"pages": [
{
"name": "list",
"fileName": "CustomerInfo",
"controller": "CustomerCtrl",
"controllerAs": "Customer"
},
{
"name": "form",
"url": "/form/:sn",
"fileName": "CustomerForm",
"controller": "CustomerFormCtrl",
"controllerAs": "Customer"
}
]
}
]
到處都有sn,到底 sn拿來幹嘛?
那這個問題,一開始我腦袋卡的方向就是不知為何的拘泥於sn跟Form的關係,但看完,窩操, 沒啥關係,有關係的是只是sn帶的值。
想單純一點,:sn就是像C#的QueryString,專門來帶值,那在CustomerInfo.js裡面,就是丟值給sn去帶;到CustomerForm.js就是下一個判斷式判斷 $stateParams.sn 有沒有值($stateParams會儲存url),有值就帶入給Form[1]以開啟編輯頁面,然後透過AjaxService取得對應的客戶資料,顯示在編輯頁面上以做編輯。
在CustomerInfo.js (客戶列表) 裡
//編輯
function edit(item) {
$state.go('customer.form', { sn: item.CUSTOMER_SN });
}
在CustomerForm.js裡
//視窗動作
vm.form = Form[!$stateParams.sn ? 0 : 1];
//客戶資料
if ($stateParams.sn) {
var option = { condition: { CUSTOMER_SN: $stateParams.sn }, plan: 'Contact' };
AjaxService.Get('Customer', option).then(function (data) {
vm.item = data;
});
}
在Config.json裡面
[
{
"system": "CRMS",
"name": "customer",
"url": "/crms/customer",
"path": "Basic/",
"pages": [
{
"name": "list",
"fileName": "CustomerInfo",
"controller": "CustomerCtrl",
"controllerAs": "Customer"
},
{
"name": "form",
"url": "/form/:sn",
"fileName": "CustomerForm",
"controller": "CustomerFormCtrl",
"controllerAs": "Customer"
}
]
}
]
到處都有sn,到底 sn拿來幹嘛?
那這個問題,一開始我腦袋卡的方向就是不知為何的拘泥於sn跟Form的關係,但看完,窩操, 沒啥關係,有關係的是只是sn帶的值。
想單純一點,:sn就是像C#的QueryString,專門來帶值,那在CustomerInfo.js裡面,就是丟值給sn去帶;到CustomerForm.js就是下一個判斷式判斷 $stateParams.sn 有沒有值($stateParams會儲存url),有值就帶入給Form[1]以開啟編輯頁面,然後透過AjaxService取得對應的客戶資料,顯示在編輯頁面上以做編輯。
沒有留言:
張貼留言