[英]How to call same function from different places using different parameters in javascript and still retain old values of variables of that function?
[英]how to call the same function from two different places in angularjs
我有兩個不同的 HTML 文件。 Select 按鈕位於兩個 html 文件中。 如果我單擊該按鈕,我需要 select 卡。
我有兩個功能。 第一個默認情況下我需要在屏幕上顯示。
第二個是我需要在彈出模式中顯示相同的數據。
<button type="button" class="btn btn-primary col-xs-12 col-md-12 col-lg-12"
ng-click="selectCard()">ADD CARD</button>
<button type="button" class="btn btn-primary col-xs-12 col-md-12 col-lg-12"
ng-click="selectCard()">ADD CARD</button>
這些都是相同的 html 代碼。
$scope.selectCard = function () {
$scope.select = true;
}
但我的問題是,
頁。 html 文件處於彈出模式。
$scope.view = function () {
$uibModal.open({
templateUrl: 'page.html',
size: 'lg',
windowClass: 'page',
controller: function ($scope, $uibModalInstance, $timeout) {
$scope.selectCard = function(){
$scope.select = true;
}
}
});
}
在彈出模式中,我還需要再次編寫相同的 function 。 然后只有它在工作。
有什么方法可以在兩個地方使用相同的 function。
對於常用功能,服務是最好的地方。 您應該根據控制器中的要求將您的服務添加為依賴注入。
要創建和注入服務,您可以參考這個官方 angularjs 文檔站點: https://docs.angularjs.org/guide/services
您可以將 function 移動到單獨的服務中,並將其注入您需要的所有地方。
如果它應該綁定到mainController.js
,服務 function 可以使用rxJs Subject
或只是發出事件來更新mainController.js
中的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.