$scope.phone
은 유효한 속성 이름 리터럴이 아닙니다. 당신은 "$scope.phone"
을 사용할 수
$scope.messages.$add({
"$scope.phone" : {
username: $scope.username,
email: $scope.email,
dob: $scope.dob
}
});
... 하지만은 아마 당신이 원하는 아니라고 실제 이름과 속성을 생성합니다. 그 글자를 보면 실제로 원하는 이름을 알 수는 없지만 다른 필드 이름과 관련하여 phone
을 사용할 수는 없습니다. 귀하의 코멘트를 다시
: 당신은 개체 이니셜 라이저에서 할 수 없어
See this example: usersRef.set({ alanisawesome: { date_of_birth: "June 23, 1912", full_name: "Alan Turing" } Instead of alaniawesome I want to have phone as my key.
, 그것은에서 속성 이니셜 라이저의 속성 이름 부분은 항상 그대로 가져옵니다. (
var obj = {};
obj[alanisawesome] = { date_of_birth: "June 23, 1912", full_name: "Alan Turing" };
usersRef.set(obj);
속성 이름 외부 개체 이니셜 라이저의 액세스 할 때 자바 스크립트에서, 당신은 점 표기법과 문자 속성 이름을 사용할 수 있기 때문에 작동합니다 : 당신은 두 개의 문장에서 그것을해야 할 것이다 obj.foo
) 또는 대괄호 표기법 및 문자열 속성 이름 (obj["foo"]
). 후자의 경우 문자열은 변수 참조를 포함하여 모든 표현식의 결과 일 수 있습니다.
당신은 키 이름 –
으로 $의 scope.phone' codename- @'가질 수 없습니다 : 예 , 할 수 있습니다. 그러나 그들은 아마 원하지 않을 것입니다. –
@ T.J.Crowder : 나는 그가 당신이 그것을 쓰는 방법으로 가질 수 없다는 것을 의미합니다. 당신이 대답을 문자열이 아닌 변수로 두었습니다. 두 가지가 있습니다. –