无法读取ChildScope。$ scope.criaOpcao中未定义的属性'push'
TypeError:无法读取未定义的属性'push'在ChildScope。$ scope.criaOpcao(appCtrl.js:49)**
// chamada para quando o formulário é enviado
$scope.criaOpcao = function (opcao) {
if (!$scope.projetoAtivo || !opcao) {
return;
}
$scope.projetoAtivo.opcoes.push({
title: opcao.title
});
// fecha o modal de opções
$scope.opcaoModal.hide();
// meio ineficiente, mas salva os projetos
Projetos.save($scope.projetos);
};
回答如下:无论是在函数外部还是在控制器中,您都应定义此变量:
$scope.projetoAtivo = [];
或应该在函数的开头声明。
这是一个简单的用例,您尝试在变量上调用push方法,但是由于未定义变量,因此它给您带来不确定性。必须首先将该变量声明为数组,以允许将元素压入该数组。