2013-07-23 23 views
-2

我正在使用敲除,我有一個聯繫人數組,其中包含組織對象數組。具有多重敲除功能如果

組織對象屬性: 例如1
堅定: 「Zensql」 種: 「工作」 newOrUpdatedField:真 標題:空 updatedField:假

例如2個全信息 堅定: 「SAGI」 種: 「工作」 newOrUpdatedField:假 標題: 「社區經理」 updatedField:假

<div id="retrievedContactsDiv" data-bind="foreach: viewModel.MoreContacts.contacts()"> 

      <!-- ko foreach: $data.organizations() --> 

      <!-- ko ifnot: ($data.title == null) && ($data.firm == '')--> 
      <span data-bind="text: $data.title()"></span> at 
      <span data-bind="text: $data.firm()"></span> <br> 
      <!-- /ko --> 

      <!-- ko if:$data.title == null --> 
      <span data-bind="text: $data.firm()"></span> 
      <!-- /ko --> 
      <!-- ko if:$data.firm == "" --> 
      <span data-bind="text: $data.title()"></span> 
      <!-- /ko --> 

      <!-- /ko --> 

只有當我有充分的資訊,如果標題== null 只有公司和只有公司==「」標題只有當我試圖這個代碼,但不工作......

+0

這將是有益的,如果你沒有刪除代碼,以便其他人可以從你有問題學習。 – badsyntax

+0

或者如果你剛剛刪除了這個問題,那將會非常好。 –

回答

1

在表達式中使用時,必須展開觀察對象(添加())。更新您的代碼如下:

 <!-- ko foreach: $data.organizations() --> 

     <!-- ko ifnot: ($data.title() == null) && ($data.firm() == '')--> 
     <span data-bind="text: $data.title()"></span> at 
     <span data-bind="text: $data.firm()"></span> <br> 
     <!-- /ko --> 

     <!-- ko if:$data.title() == null --> 
     <span data-bind="text: $data.firm()"></span> 
     <!-- /ko --> 
     <!-- ko if:$data.firm() == "" --> 
     <span data-bind="text: $data.title()"></span> 
     <!-- /ko --> 

     <!-- /ko --> 
+0

thx尋求幫助,我仍然有問題,因爲我有一個「在Zensql」,而它應該只顯示「Zensql」 – user2587781