我正在尝试将一个值返回到$scope,这取决于是否在angular js中选中了复选框,但似乎无法这样做。有办法让它工作吗?
html:
<div class=" specialClause col-md-10 " >
<label for="TAR">Tag Along Rights: <input type="checkbox" ng-model="TAR" ng-change="myFunc()" name="TAR" id="TAR"/></label>
js:
$scope.dej= function(){
if($scope.TAR) {
console.log('TAR');
var tar = 'Yes';
}else{
console.log('no TAR');
var tar = 'no';
}
return tar;
};
但是我不能在函数外访问tar。有没有一种方法可以实现 tar
函数之外的值?
2条答案
按热度按时间htzpubme1#
首先,您的更改函数是myfunc,您使用
dej
功能。第二,你可以像这样把你的逻辑写在一行中
return $scope.TAR ? 'Yes' : 'No'
另外,我也不确定你要做什么。但在下面的代码段中,值yes或no被添加到一个范围变量中,例如,可以在html中访问该变量。如果这不是你想要的,请在评论中告诉我。
请参阅下面的代码片段:
ioekq8ef2#
tar
仅在其声明的范围内可用,并且if
及else
语句打开了一个新的范围。解决办法是定义
tar
在其共同母公司范围内:或者直接返回: