.controller("transactionTypeController", function($scope, $rootScope, $location, $state, $stateParams, $rootScope){
$scope.checkReserve = function(){
//var voucherId = $scope.checked_vouchersId;
//var transaction = $scope.checked_transactions;
var base = $scope.base;
//var newCoupon = $scope.coupons;
var tL = $scope.checked_transactions.length;
var input = [];
for(i = 0; i< $scope.checked_transactions.length; i++){
input["transactions["+ i +"][txnId]"] = $scope.checked_transactions[i];
input["transactions["+ i +"][txnAmount]"] = JSON.parse($scope.amounts[i].base);
}
for(i = 0; i< $scope.checked_vouchersId.length; i++){
input["vouchers["+ i +"][id]"] = $scope.checked_vouchersId[i];
}
for(i = 0; i< $scope.coupons.length; i++){
input["coupons["+ i +"][couponCode]"] = $scope.coupons[i];
}
input['loyaltyId'] = "4ZUZ100001";
input['redeemPoint'] = '0';
console.log(input);
CheckTransactionApi(input);
$state.go('reservation detail', {'mobile' : mobile, 'loyaltyId' : loyaltyId});
}
})
回答
正如評論中提到的,我們應該總是使用服務或工廠在控制器之間共享數據。
在某些情況下,我們也可以從一個控制器向其他控制器廣播一個值。
還有一種方法可以通過$ rootScope共享數據,這也是非常不推薦的。
但也有一些情況下,即使兩個控制器沒有直接關係,也希望所有值/函數都可以在其他控制器中使用。
在這種情況下,你可以注入$控制器到新的控制器,並使用$ .extend(或angular.extend)其他控制器是即時拍攝的位置:
了Exa。
module.controller('newController', ['$scope', '$controller', function ($scope, $controller) {
var local = this;
$.extend(local, $controller('previousController', {$scope: $scope}));
}]);
有什麼方法可以將輸入定義爲全局的,這樣我就可以從任何控制器中獲取它的值 –
這就是$ rootScope的意思。如果您將在$ rootScope下定義任何屬性,則這些屬性將全局可用。但那不是推薦的方法。 我相信你應該使用常量或工廠或服務(根據你的需要)這樣的值,並簡單地注入那些你想要的。該服務的所有值將可用。這是最好的和推薦的方式。 – undefined
在上面提到的例子中定義的地方 –
- 1. Apple如何讓其控制器包含其他控制器?
- 2. 在其他控制器
- 3. 如何在其他控制器視圖中使用One控制器方法?
- 4. 如何使UITabbarcontroller顯示所有其他視圖控制器?
- 5. AngularJS - 如何從其他控制器運行控制器?
- 6. 從IOS其他控制器
- 7. 如何在視圖或其他控制器中調用控制器方法?
- 8. 使用控制器控制其他控制器時的視圖大小問題
- 9. 添加值從其他控制器
- 10. 將控制器加載到cakephp中的其他控制器中
- 11. 如何在Angularjs中的其他文件中使用控制器
- 12. 如何爲其他視圖控制器使用基本視圖控制器?
- 13. 春天控制器來調用其他控制器
- 14. Asp.net MVC在其他控制器中使用控制器的一次性屬性
- 15. 如何使覆蓋控制高於所有其他控件?
- 16. cakephp如何擁有其他控制器擴展的控制器類
- 17. 使用任何其他控制器類而不是默認控制器類
- 18. RSpec的控制器:redirect_to的其他控制器
- 19. UITabBar控制器和UITableView控制器 - 會影響其他?
- 20. viewController在其他視圖控制器
- 21. 來自一個控制器的值應該可用於其他控制器
- 22. cakephp - 如何將控制器中的數據轉發給其他控制器?
- 23. 基本控制器並將其應用到所有現有的控制器
- 24. 在其他控制器中調用控制器的方法(保持DRY)
- 25. 如何獲得其他視圖控制器中的nsuserdefault值
- 26. 如何在視圖中插入來自其他模塊/控制器的輸出
- 27. 使用視圖控制器管理兩個其他視圖控制器
- 28. 如何訪問在其他控制器中使用spring @cacheable緩存的值?
- 29. Angularjs將複選框值從一個控制器傳遞到其他控制器
- 30. 如何擺脫家庭控制器和保存其他控制器?
考慮使用工廠或服務來實現應該在控制器之間共享的功能。 – FrankerZ
由於@FrankerZ表示它更好地使用工廠或服務來實現OR,否則您可以使用$ controller服務將控制器實例化到另一個控制器中,但它可能會導致設計問題。 –