2016-08-18 3 views
0

()을 가지고 있고 ()을 갖지 않는 데 차이점은 무엇입니까?녹아웃 데이터에서 다른 점은 무엇입니까?

처럼 내 뷰 모델에서

data-bind="text: firstName" 
data-bind="text: firstName()" 

:

this.firstName = ko.observable("Ben"); 

모두 data-bind이 작업을 수행 할 수 있습니다. 그래서 다른 무엇입니까?

답변

0

괄호없이 관찰 가능한 것은 관찰 가능 자체입니다. 괄호를 사용하면 내용 (관찰 대상이 보유하는 값)이됩니다. 대부분의 경우/또는을 사용할 수 있지만 양방향 바인딩 (value 또는 checked)의 경우 관찰 가능 객체에 할당 할 수 있어야하므로 이 아니고에는 괄호가 있어야합니다. 반면 표현을 만들려면 내용이 필요합니다. 예 : !someBoolean()

1

answered before과 유사한 질문이 있습니다.

요점은 text: firstName를 사용하는 경우 text: firstName()를 사용하는 경우, 당신은 당신이 바인딩에 관찰의 값을 전달하고, 바인딩 text에 관찰을 전달하고있는 것입니다. 두 경우 모두 단방향 바인딩이므로 바인딩이 동일하게 작동하며 대부분의 바인딩은 관찰 가능 또는 일반 값 중 하나를 사용하도록 설정됩니다. 그러나 value과 같은 양방향 바인딩을 사용하는 경우 바인딩이 관찰 가능 항목에 다시 쓸 수 있도록 첫 번째 형식을 사용해야합니다.

관련 문제