Typy dla scope'ow w dyrektywie.

0

Czesc czy jest moze mozliwosc szerszego wystawienia typow dla scope'ow w dyrektywach nie tylko znane nam =,@,& chcialbym aby byly to rozszerzone typy, czyli np. moglbym sprawdzac czy zwraca wartosc to bool albo moze tablica. Chcialem napisac sobie taki service/factory ale moze jest juz cos takiego?

0

Zaczęłabym od tego, że to nie są typy, a właściwości izolowanego scope'u, czyli np czy zmienna jest two-way binding, czy funkcja ma się wykonać w kontekście scope'u nadrzędnego, etc.

Nie bardzo rozumiem, co masz na myśli:

moglbym sprawdzac czy zwraca wartosc to bool albo moze tablica

Możesz rozwinąć tę myśl?

0

Tak jak mamy w Reactcie, gdzie mozemy naszym propsom nadawac typy, czy bedzie to bool,a moze string. Czyli np, wkladamy od naszego scope'a, two way data binding,np jakis scope z kontrollera np. scope.name i mamy wtedy

a teraz z poziomu dyrektywy sprawdzac czy dany two way data binding jest stringiem albo tablica, bo teraz mozemy wszystko wsadzic, niewazne czy scope.name to bedzie tablica, czy string, dlatego chcialem aby bylo mozna zrobic tutaj typowanie.</p>
0

No nie, dokładnie czegoś takiego nie ma, ale nic nie stoi na przeszkodzie, żebyś do dyrektywy przekazywał zmienną opakowaną w inny obiekt, np: {type: "Number", value: 4} :)

0

A nie lepiej napisac sobie taki service, ktory by sprawdzal dokladniej wkladane propsy? I jesli by wystapily by jakies bledy to wyjatkiem bysmy go zlapali i po prostu przerwali dzialanie dyrektywy? Uwazam ze takie rozwiazanie jest czystsze niz wkladanie ciagle obiektu, przy duzych propsach uwazam ze byloby to wrecz masakryczne. A tak to zrobilbym cos al'a React. Co o tym myslisz?

0

Np. robiac to w takiej skladni.


function link(){
        project.propTypes(scopes,{
            resource:'array',
            json:'bool'
        }).then(function(){
            //action for directive
        },function(err){
            return err;
        });
}

 

pierwszy paremetr to jest obiekt scope'ow, mozemy wszystkie nasze scope wlozyc np. za pomoca scope.$$isolateBindings gdzie mamy wszystkie zbindwoany scope'y ale mozemy tez pojedyczne wkladac, a drugi parametr to obiekt podobny sprawdzajacy podobny jak do Reacta, nasz key to po prostu nazwa scope'a a property bedzie po prostu typem pozniej mamy promise'a, jesli przejdzie poprawnie to mamy dyrektywe normalnie a w przeciwnym wypadku w errorze bedziemy mieli informacje jaki typ sie nie zgadza. Mozna to jakos lepiej zainicjowac, czy taki sposob bedzie rowniez poprawny?

1 użytkowników online, w tym zalogowanych: 0, gości: 1