Angularjs Ionic$scope.function只触发一次,然后在新单击时出错

Angularjs Ionic$scope.function只触发一次,然后在新单击时出错,angularjs,ionic,Angularjs,Ionic,上周,我制作了一个函数,它从一对按钮(一个表示true,一个表示false)中提取真/假值,并将其放入$scope变量中 它工作得很好 $scope.trueOrFalse=函数(truefalse){ if(truefalse==false){ $scope.value=false; document.getElementById(“makeFalse”).className=“按钮处于活动状态”; document.getElementById(“makeTrue”).className=

上周,我制作了一个函数,它从一对按钮(一个表示true,一个表示false)中提取真/假值,并将其放入$scope变量中

它工作得很好

$scope.trueOrFalse=函数(truefalse){
if(truefalse==false){
$scope.value=false;
document.getElementById(“makeFalse”).className=“按钮处于活动状态”;
document.getElementById(“makeTrue”).className=“按钮”;
log($scope.isBusiness);
}else if(truefalse==true){
$scope.value=true;
document.getElementById(“makeTrue”).className=“按钮处于活动状态”;
document.getElementById(“makeFalse”).className=“按钮”;
log($scope.value);
}

}
对于ng类,代码如下所示:


实现
弄虚作假
在控制器中:
$scope.truefalse=true。如果truefalse为true,则makeTrue具有活动类(这似乎有点偏离,但在代码中是相同的),否则makeFalse为活动类

这样,您就不用在控制器中使用DOM了(这应该避免),而且您的$scope也不会太混乱


对于ng click,您可以在$scope上定义一个函数并调用它,而不是在表达式中更改truefalse(但这取决于您)

请用两个按钮显示代码html。控制器是否正在加载到新页面?也许范围直到第一次单击后才被更新。是的,控制器被加载,并打印出第一个控制台。true或false值日志我们开始:)谢谢!看一看ng课。最好使用$scope.truefalse=true;在html中:实现
    <div ng-controller="MainCtrl">
      <button id="makeTrue" ng-class="{button :true, active: truefalse}" ng-click="truefalse = !truefalse">Make true</button>
      <button id="makeFalse" ng-class="{button :true, active: !truefalse} " ng-click="truefalse = !truefalse">Make false</button>
    </div>