Изменить значения глобальной переменной с помощью функции $ scope - PullRequest
1 голос
/ 12 января 2020

Я определил две глобальные переменные типа Date и в функции я изменяю значения, но каким-то образом после запуска функции значения глобальных переменных не приняли новое значение. В чем проблема? Заранее спасибо!

var value1 = new Date()
var value2 = new Date()
var $scope = self.ctx


$scope.settimes = function() {
value1.setSeconds(0)
value1.setMinutes(15)
value1.setHours(6)

value2.setSeconds(0)
value2.setMinutes(30)
value2.setHours(12)

}

console.log(value1)
console.log(value2) //value1 and value2 still have the same value =new Date() but not be assigned with the values within the function
<button ng-click="settimes()">Change Time</button> 

1 Ответ

1 голос
/ 12 января 2020

Ваш console.log должен быть внутри функции. Код будет выполняться сверху вниз, вы определяете функцию, а затем немедленно вызываете console.log. Но значения изменяются только после нажатия кнопки, поэтому вам нужно проверить значения внутри функции.

var value1 = new Date()
var value2 = new Date()
var $scope = self.ctx


$scope.settimes = function() {
  value1.setSeconds(0)
  value1.setMinutes(15)
  value1.setHours(6)

  value2.setSeconds(0)
  value2.setMinutes(30)
  value2.setHours(12)

  console.log(value1)
  console.log(value2)
}

 //value1 and value2 still have the same value =new Date() but not be assigned with the values within the function
<button ng-click="settimes()">Change Time</button>
...