Как общаться между моей моделью и компонентом flex? - PullRequest
0 голосов
/ 27 марта 2011

Я пытаюсь получить модель Actionscript 3.0, которая связывается с базой данных SQLite, используя класс Probertson SQLRunner для связи с моим компонентом flex;Я действительно не уверен, как лучше всего это сделать.Я работал над несколькими примерами, но я не знаю, как проще всего сообщить компоненту результаты запроса SQL.У кого-нибудь есть какие-либо рекомендации?

Вот часть кода, чтобы дать вам представление о том, с чем я сейчас работаю.

Компонент

<fx:Declarations>
    <model:Patient id="editedPatient" FirstName="{FirstName.text}" /> 
</fx:Declarations>  

<fx:Script>
    <![CDATA[
        /*imports*/
        protected var _patient:Patient;

        public function get patient():Patient
        {
            return _patient;
        }

        [Bindable]
        public function set patient(value:Patient):void
        {
            _patient = value;
        }

        private function creationCompleteHandler(event:FlexEvent):void{
            _patient.getPatient(currentUser);
        }

        protected function save_clickHandler(event:MouseEvent):void
        {
            _patient.update(editedPatient);
        }

    ]]>
</fx:Script>

<s:TextInput id="FirstName" text="{patient.FirstName}" />
<s:Button id="save" label="save" click="save_clickHandler(event)" />

Модель

    public function getPatient(PatientId:int):void {
        var stmt:String = new String();

        stmt = "SELECT * FROM Patient WHERE PatientID= @PatiendId;";
        sqlRunner.execute(stmt, {PatientId:PatientId}, loadPatient_result, Patient);

    }

    private function loadPatient_result(result:SQLResult):void
    {
        if (result.data != null && result.data.length > 0)
        {
            var Patient:Patient = result.data[0];
        }

    }

1 Ответ

1 голос
/ 27 марта 2011

Есть несколько вещей, которые вы можете сделать ...

Во-первых, я бы создал модель , которая соответствует шаблону Singleton , чтобы вы могли связываться с любыми изменениями данных в любом представлении, илиcomponent.

Во-вторых, я бы затем обновил модель синглтона с помощью метода loadPatient_result , который вы вызываете.

Если вы хотите отсоединить результат от результата икомпонент, вы могли бы отправить пользовательское событие вручную , которое содержит запись пациента, чтобы компонент прослушивал события такого рода и обновлял себя соответствующим образом.Или имейте это представление, слушают это событие и обновляют соответственно действительно.

Вы на правильном пути.Я думаю, что вам нужен Синглтон.

...