所以我知道我一定错过了这个问题的 javascript 的一些基本部分,但无论如何它都是这样的:
我有一个控制器,其中声明了一个变量:
$scope.IsStartDatePickerHidden = true;
$scope.IsEndDatePickerHidden = true;
我有一个按钮,其 ng-click 设置为转到控制器中的某个功能。如果这个函数接受一个可以改变值的参数,那就太好了:
<button type="button" ng-click="showDatePicker(IsStartDatePickerHidden)" >
$scope.showDatePicker = function(showDatePicker)
{
showDatePicker = false;
}
当我单步执行这段代码时,函数 showDatePicker 更改了传入的参数的值,但似乎没有更改控制器中变量的值,因此什么也没有发生。我确信这与通过引用传递有关。我只是不确定如何传入它,以便 $scope.IsStartDatePickerHidden 或 $scope.IsEndDatePickerHidden 根据我传入的值进行更改。
布拉德的答案是正确的,但以防万一您想要更通用的东西,以便您可以更改任何范围变量的值:
<button type="button" ng-click="showDatePicker('IsStartDatePickerHidden')" >
$scope.showDatePicker = function(varName)
{
$scope[varName] = false;
}
这不一定是好的做法,但通常很有用。说到这里,你可以在 ng-click 中进行赋值:
<button type="button" ng-click="IsStartDatePickerHidden = false" >
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)