函数中的$scope变量值没有更改
$scope variable value is not changing in a function
我已经将一个范围变量传递给了一个函数,我试图在该函数中更改它,即使该值在函数内部是可访问的,它的值也不会更改。
这是我的html
<div class="console_item" ng-class="dropdwns.assetshow==true?'showdrp':'hidedrp'" ng-click="drpdwn(dropdwns.assetshow)">Asset Type</div>
这是我的控制器中的代码
$scope.dropdwns={assetshow:false};
$scope.drpdwn=function(dat){
if(dat==true)
{
dat=false;
}
else
{
dat=true;
}
console.log($scope.dropdwns);
}
我尝试了$apply,但它给了我一个错误。有人能帮我吗?谢谢。
您只需要设置正确的变量
$scope.dropdwns={assetshow:false};
$scope.drpdwn=function(dat){
$scope.dropdwns.assetshow = !dat; // Here
console.log($scope.dropdwns);
};
您应该将对象传递给函数,而不是它的属性:
<div class="console_item" ng-class="dropdwns.assetshow==true?'showdrp':'hidedrp'" ng-click="drpdwn(dropdwns)">Asset Type</div>
$scope.drpdwn=function(dat){
if(dat.assetshow == true)
{
dat.assetshow = false;
}
else
{
dat.assetshow = true;
}
//A more simple version dat.assetshow = !dat.assetshow
console.log($scope.dropdwns);
}
最短的答案:
<div class="console_item" ng-class="{'showdrp':dropdwns.assetshow, 'hidedrp':!dropdwns.assetshow}" ng-click="dropdwns.assetshow = !dropdwns.assetshow">Asset Type</div>
相关文章:
- JavaScript:单击时相对于父级增加变量值
- 如何通过ajax增加/减少PHP变量值并重新加载函数
- 如何从特定页面中提取php变量值
- JavaScript模数未正确递增变量值
- 替换另一个变量对象中的变量值
- mandrill合并标记不接受变量值
- 将变量值从一个javascript传递到另一个javascript
- 如何将变量值附加到另一个变量
- html类名中的数字形式的Javascript变量值
- 如何在C#中获取Javascript变量值
- 如何将C#变量值传递给javascript以使用amcharts
- 正在从addEventListener中获取变量值
- 使用变量值作为'名称标识符'javascript/html
- 为什么在以下代码段中无法访问中的变量值
- 我们可以在初始化variable Angular JS时将变量值声明为未定义吗
- 在HTML/Javascript文件中获取App Inventor 2变量值
- 将变量值传递给另一个函数
- 函数中的$scope变量值没有更改
- 在AngularJS中的$http成功回调之外无法访问$scope变量值
- $scope变量值未在控制器Angular JS中更新