0
私はこの段階でdiv要素の表示と非表示を切り替えるコントローラを持っていますので、サービスを使い始めたのでクリーンアップしようとしています。サービス機能がトリガーされていません
コントローラスニペット
app.controller('addFormCtrl', function($scope, $http, $timeout, Service){
$scope.myVar = true
$scope.toggle = function(){
$scope.myVar = !$scope.myVar
//once toggled i.e form taken away success or failure message displayed for x time
$scope.successOrFailureAlert = true;
$timeout(function() {$scope.successOrFailureAlert = false}, 2000)
}
})
サービス
app.service('Service', function($timeout){
var user = ""
var location = ""
this.toggle = function(var1,var2){
console.log(var1)
console.log(var2)
var1 = !var1
var2 = true;
$timeout(function() {var2 = false}, 2000)
}
})
内部トグル方式とサービスとコントローラ
app.controller('addFormCtrl', function($scope, $http, $timeout, Service){
$scope.myVar = true
$scope.toggle = Service.toggle($scope.myVar, $scope.successOrFailureAlert)
//function(){
// $scope.myVar = !$scope.myVar
// once toggled i.e form taken away success or failure message displayed for x time
// $scope.successOrFailureAlert = true;
// $timeout(function() {$scope.successOrFailureAlert = false}, 2000)
//}
})
を添加
メソッドを定義する代わりにサービスを使用するとき。火は消えない。あなたのng-click
機能を期待するので、私は、私が
HTML関数内
<div ng-controller="addFormCtrl">
<span ng-show="successOrFailureAlert"> {{status}} </span>
<button ng-click="toggle()"> Add Employee </button>
<form ng-hide="myVar" ng-submit="submitAddEmployeeForm()">
<input type="text" ng-model="name">
<input type="text" ng-model="country">
<input type="submit" value="Submit" />
</form>
</div>
Service.toggle()メソッドから返す予定はありますか? – rrd