Angularjs 如果+;功能不工作

Angularjs 如果+;功能不工作,angularjs,Angularjs,在第一段代码中,当我更改anoini时,gerar()函数将显示旧值 但是,当我删除时,您不应该给它赋值,而应该给gerar函数中的$scope赋值: $scope.gerar = function() { $scope.log = $scope.anoini; meses = (($scope.anofim - $scope.anoini) * 12) + (12 - $scope.mesini) + $scope.mesfim; qtdLoop = arrEstac

在第一段代码中,当我更改anoini时,gerar()函数将显示旧值


但是,当我删除
时,您不应该给它赋值,而应该给gerar函数中的$scope赋值:

$scope.gerar = function() {

    $scope.log = $scope.anoini;
    meses = (($scope.anofim - $scope.anoini) * 12) + (12 - $scope.mesini) + $scope.mesfim;
    qtdLoop = arrEstacoes.length * meses;
    tempoEstimadoMinutos = Math.round((qtdLoop * 20)  / 60 );

    $scope.log = 'Tempo Estimado: ' + tempoEstimadoMinutos + ' min.' ;
}
$scope.gerar = function() {

    $scope.log = myModel.anoini;
    var meses = ((myModel.anofim - myModel.anoini)......

     .....
}

在ng车型中始终使用点
。换句话说,使用对象而不是基本体

ng如果
创建一个子作用域,并且由于您在
ng模型
中使用原语,您将失去与该子作用域的作用域的双向绑定

var myModel ={
      mesini : 1,
      anoini : 2011,
      mesfim : 7,
      anofim : 2015
};
$scope.myModel = myModel;
HTML


理解angular中的范围嵌套是使用框架时要学习的最重要的事情

实际上,将所有内容绑定到这个(控制器)并将范围全部删除将是现代解决方案。但你不把它们混在一起是对的:-)
$scope.gerar = function() {

    $scope.log = myModel.anoini;
    var meses = ((myModel.anofim - myModel.anoini)......

     .....
}