2015-01-15 1 views

답변

0

당신은 (당신이 표준 JS에서와 평등을 비교하는 이중 등호를 필요로 작동하지 않습니다 할당) : 당신은 소유자 값 대신 =

<p class="cmt-post" data-bind="if:deleteDate&&owner == '1'"> 
    <span data-bind="text:deleteDate"></span> 
0

owner()을 사용하여 평가할 필요가있는 관찰 항목입니다. 또한 대신 ===을 사용해야하며 ===은 평등을 비교하는 데 사용되고 형식이 동일하도록 보장해야합니다. 나는. 1 === '1'은 거짓이고 1 == '1'은 참입니다.

<p class="cmt-post" data-bind="if:deleteDate()&&owner()==='1'"> 
    <span data-bind="text:deleteDate"> 
    </span> 
</p> 
1

만약의 ==을 사용하여 할당하는

data-bind="if:deleteDate && owner == '1'"> 
0

내가

그래서 예를 들어보기 모델의 방법을 고려

대신 뷰 모델에 어떤 로직을 분리하는 방법을 제안 할 것이다 : 뷰에서

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 --> 

나는 더 깨끗하게 보입니다.

는 순수한 때문에 그 뷰 모델의 방법을 사용하여 계산 :

  • 당신이 getter 메소드는 뷰 모델에 기본적으로 재사용 할 수
  • 템플릿에 호출 할 필요가 없습니다
관련 문제