功能麻烦

时间:2015-12-10 12:02:19

标签: javascript angularjs

我收到了这个错误:

enter image description here enter image description here

var appname = angular.module('appname', []);

appname.controller("hipotecaController", ['$scope', function ($scope) {
    $scope.hipoteca = {
        capital: undefined,
        anyos: undefined,
        interesAplicado: "",
        interes: undefined,
        tipoEuribor: "",
        Euribor: undefined,

        interesOpcion: function () {
            return $scope.hipoteca.interesAplicado === "Fijo"
        }

        tipoOpcion: function () {
            if ($scope.hipoteca.Euribor === "EURIBOR") {
                $scope.hipoteca.Euribor = 0.8;
            }
            else if ($scope.hipoteca.Euribor === "EURIBOR3") {
                $scope.hipoteca.Euribor = 0.4;
            }
        }
    }
}]);

我不知道发生了什么。如果我只使用一个功能,它确实有用。

2 个答案:

答案 0 :(得分:5)

您在第一个函数声明后需要一个逗号,因为您在对象中执行此操作。

interesOpcion:function(){
  return $scope.hipoteca.interesAplicado==="Fijo"
},
tipoOpcion:function(){
  if($scope.hipoteca.Euribor==="EURIBOR"){
    $scope.hipoteca.Euribor=0.8;
  }
  else if($scope.hipoteca.Euribor==="EURIBOR3"){
    $scope.hipoteca.Euribor=0.4;
  }
}

由于您在tipOpcion之前没有尾随逗号,因此该对象应该关闭,因此tipOpcion函数对象是unexpected identifier

答案 1 :(得分:4)

在函数后面加上一个逗号:

interesOpcion:function(){
  return $scope.hipoteca.interesAplicado==="Fijo"
},       // << This comma

您正在将对象定义为$scope.hipoteca并且在对象的每个键值(除非是最后一个)之后,您必须使用逗号:

$scope.foo = {
    fname: "John",
    lname: "Doe",
    age: 24
};

就像你说的那样,如果你定义了一个函数,即interesOpcion它正在工作,因为那是该对象的最后一个键值,所以你没有得到任何错误。但是当你定义了另一个函数,即tipoOpcion时,所以在定义之前你实际上必须在interesOpcion的函数体之后添加一个逗号,如上所述。