簡體   English   中英

AngularJS在控制器中處理數據的多個部分

[英]AngularJS Processing multiple parts of data in a controller

我正在構建一個基本上可以在您選擇期權時計算價格的應用程序。 因此,基本上,這是一個帶有選擇選項的表格,當您向下瀏覽表格時,該應用程序將更精細地處理價格並更改其他表格字段的選項。

目前,我已經構建了一個API,在此處理過程中,該應用將需要多次運行API。 最終將有7-12個表單字段構成定價選項。 在繪制控制器時,我想知道什么是使我的處理井井有條的最佳方法。 如果我使用PHP之類的語言來執行此操作,則每個表單元素在每次更改表單時都會有不同的功能。

在Angular中,每個視圖只有一個控制器,我很好奇專業人士將如何組織它。

在非特定語言結構中,我在想類似...

  1. 選擇一個有5個選項,用戶選擇一個。
  2. 使用第一步中的數據,進行計算,點擊API並獲得選擇編號2的新選項。用戶選擇選項,然后過程再次發生。

因此,如果我的控制員說...

.controller("formController", function($scope){
        //Function for when select one changes, listen for form change ng-change
        function item1Change(){
           //hit api with item1 value, get options for item2 and and load them into item2
        }
        function item2Change(){
           //hit api with item2 value, get options for item3 and and load them into item3
        }
    })

對我來說,這似乎很臟,因為我需要定義一些東西,它似乎不是模塊化的或分段的,我只是覺得有一個更好的選擇。 如果你們有更好的主意,請告訴我,謝謝!

對於視圖可用的控制器數量沒有限制。 我要遵循的一個一般的最佳實踐*是,為每個$scope初始化一個控制器,我覺得需要比其父范圍或該范圍內指令的行為定義更為謹慎地處理。

我會用:

  • 一個formCtrl
  • priceCtrl
  • 用於計算總數的自定義指令
  • 一種將行為與表單控制器配對的選擇行為的指令策略(一個或多個指令)
  • 一種根據需要向控制器和指令提供選項配置,依賴項等的服務(這是一種將數據與控制器分離並封裝數據處理/處理的好方法。這也使您可以提供如果需要,將相同的數據保存到不同的表單視圖

您可以認為您的指令和指令策略與使用裝飾器模式的方式相似。 通過用特定指令修飾表單輸入,它可以__

*(這是我自己的最佳做法,我不能說這是Angular團隊或社區普遍認可的內容)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM