gpt4 book ai didi

javascript - 将范围变量传递给 ng-click 中的函数

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:24:07 26 4
gpt4 key购买 nike

所以我知道我一定在这个问题中遗漏了 javascript 的一些基本部分,但无论如何它都在这里:

我有一个 Controller ,其中声明了一个变量:

$scope.IsStartDatePickerHidden = true;
$scope.IsEndDatePickerHidden = true;

我有一个按钮,其 ng-click 设置为转到我的 Controller 中的一个函数。如果这个函数接受一个可以更改值的参数,那就太好了:

<button type="button" ng-click="showDatePicker(IsStartDatePickerHidden)" >

$scope.showDatePicker = function(showDatePicker)
{
showDatePicker = false;
}

当我逐步执行此代码时,函数 showDatePicker 会更改传入的参数值,但似乎不会更改 Controller 中变量的值,因此什么也没有发生。我确信这与通过引用传递有关。我只是不确定如何传递它,以便 $scope.IsStartDatePickerHidden 或 $scope.IsEndDatePickerHidden 会根据我传递的是哪一个而改变。

最佳答案

Brad 的回答是正确的,但以防万一您想要更通用的东西,以便您可以更改任何范围变量的值:

<button type="button" ng-click="showDatePicker('IsStartDatePickerHidden')" >

$scope.showDatePicker = function(varName)
{
$scope[varName] = false;
}

这不一定是好的做法,但通常很有用。说到这里,您可以在 ng-click 中进行分配:

<button type="button" ng-click="IsStartDatePickerHidden = false" >

关于javascript - 将范围变量传递给 ng-click 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25899638/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com