專案範例和使用案例 > 使用案例:3D-Guided Service Instructions > 3D-導件服務指示 303:使用 ThingWorx 建立持續購物車 > 繫結 cartThing 並編輯 2D 畫布
  
繫結 cartThing 並編輯 2D 畫布
新增 cartThing 至體驗之後,其內容必須和其他屬性和小工具繫結。考量到用來將資料引入 Vuforia Studio 的新方法,您也會對 2D 畫布進行少量變更,。
1. 「資料」窗格仍處於開啟狀態,且可在「外部資料」下看到 cartThing 的情況下,在「首頁」檢視中按一下 cartRepeater 小工具。
a. Vuforia Studio 的右上角, 請確定已選取「繫結」窗格圖示 (),以使窗格顯示在螢幕底部。
b. 您先前已將 cartRepeater「資料」屬性繫結至 cart 應用程式參數。按一下「繫結」窗格中的綠色垃圾桶圖示來刪除該繫結。
c. 展開 getCart 服務旁邊的下拉選單。將服務的「所有項目」拖放至 cartRepeater「資料」屬性上,以將他們繫結。此繫結會將資料從 getCart 傳送至重複器,以在重複器更新時顯示該資料。
2. 依照下列指示變更重複器內三個標籤的「文字」屬性:
{{item.tag}}{{item.pid}}
{{item.count}}{{item.qty}}
${{item.prc}} ${{item.price}}
購物車更新後,您便可以在體驗中看到這些屬性的變更。
3. 開啟 getCart 中的「事件」下拉選單。將 ServiceInvokeComplete 繫結至 getCartTotal 服務。此繫結可確保無論何時,當 getCart 完成後,並取得購物車的內容時,會呼叫 getCartTotal 來更新購物車的總數。
4. 按一下「labelCart」小工具,然後刪除 cartLabel 應用程式參數與 labelCart「文字」屬性之間的繫結。
5. 在其位置,將 getCartTotal 服務中的所有項目labelCart 小工具的「文字」屬性繫結。這個新的繫結會顯示購物車的總額。
a. 您現在要新增篩選器,以當標籤中顯示總計時,其格式會是 Cart($total)。會使用篩選器而不是輸入文字,是因為資訊會來自 ThingWorx 服務。在標籤的 getCartTotal「文字」間的繫結的「目標」方塊上按一下「新增篩選器」「新增資料篩選器」視窗即會開啟。
b. 「篩選器名稱」方塊中輸入 total,並在「篩選器主體」方塊中輸入下列程式碼:
return 'Cart ($' + value[0].result + ')';
此篩選器會擷取自 getCartTotal 輸出的值,並將其新增至字串以顯示購物車的總數。按一下「完成」
6. 按一下畫布上的「Order」按鈕。
a. 將按鈕的「點擊」事件繫結至已新增的 orderCart 服務。現在您按一下「Order」按鈕時,即會呼叫 ThingWorx 中的 orderCart 服務,並訂購購物車中所有的項目。
b. orderCartServiceInvokeComplete 事件繫結至 getCart 服務。這會導致每次完成 orderCart 服務時,就會啟動 getCart,而也就會更新購物車。
7. 按一下畫布上的「Clear」按鈕。
a. 因為會改用 clearCart 服務,所以將「點擊」事件的 JS 方塊中的文字移除。
b. 「點擊」事件繫結至 clearCart 服務。現在,按一下體驗中的「Clear」按鈕就會清除購物車中的內容。
c. clearCartServiceInvokeComplete 事件繫結至 getCart。這也會在您每次清空購物車時,以 getCart 更新您的購物車。
8. 最後,將 addToCartServiceInvokeComplete 事件繫結至 getCart。類似於 orderCartclearCart,每次新增零件至購物車時,就會觸發 getCart,以更新體驗中顯示的購物車。
9. 接著您會呼叫 addToCart 服務