, 그렇지 않으면, 난 내 코드 여기에 데이터 바인딩과 부울을 사용하고 싶지만knockoutjs : if 조건에 부울 && 사용하는 방법? 내가 knockoutjs을 개발하고 있어요
<p class="cmt-post" data-bind="if:deleteDate&&owner='1'">
<span data-bind="text:deleteDate">
</span>
</p>
, 그렇지 않으면, 난 내 코드 여기에 데이터 바인딩과 부울을 사용하고 싶지만knockoutjs : if 조건에 부울 && 사용하는 방법? 내가 knockoutjs을 개발하고 있어요
<p class="cmt-post" data-bind="if:deleteDate&&owner='1'">
<span data-bind="text:deleteDate">
</span>
</p>
당신은 (당신이 표준 JS에서와 평등을 비교하는 이중 등호를 필요로 작동하지 않습니다 할당) : 당신은 소유자 값 대신 =
<p class="cmt-post" data-bind="if:deleteDate&&owner == '1'">
<span data-bind="text:deleteDate"></span>
및 owner
은 ()
을 사용하여 평가할 필요가있는 관찰 항목입니다. 또한 대신 ===
을 사용해야하며 ===
은 평등을 비교하는 데 사용되고 형식이 동일하도록 보장해야합니다. 나는. 1 === '1'
은 거짓이고 1 == '1'
은 참입니다.
<p class="cmt-post" data-bind="if:deleteDate()&&owner()==='1'">
<span data-bind="text:deleteDate">
</span>
</p>
만약의 ==
을 사용하여 할당하는
data-bind="if:deleteDate && owner == '1'">
내가
그래서 예를 들어보기 모델의 방법을 고려
대신 뷰 모델에 어떤 로직을 분리하는 방법을 제안 할 것이다 : 뷰에서function ViewModel(){
this.delete_date_visible = ko.pureComputed(
this.getDeleteDateVisible,
this
)
};
ViewModel.prototype.getDeleteDateVisible = function(){
return this.deleteDate() && this.owner == '1'
}
:
<span data-bind="if: delete_date_visible">...</span>
또는 심지어
<!-- ko if: delete_date_visible -->
<span>...</span>
<!-- /ko -->
나는 더 깨끗하게 보입니다.
는 순수한 때문에 그 뷰 모델의 방법을 사용하여 계산 :
deleteDate가 observable 인 경우 객체가 존재하지만 실행되지 않기 때문에 항상 true로 평가됩니다 – Tyblitz