我收到了这个错误:
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;
}
}
}
}]);
我不知道发生了什么。如果我只使用一个功能,它确实有用。
答案 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
的函数体之后添加一个逗号,如上所述。