Antwort

0

Der Fehler, den Sie erhalten, ist, da das Attribut, wenn sichtbare keine Funktion ist. Sie müssen sehen, nur den Code des Winkel-Scroll-belebte:

if (!scope.whenVisible || !angular.isFunction(scope.whenVisible())) { 
    throw new Error('Directive: angular-scroll-animate \'when-visible\' attribute must specify a function.'); 
} 

Wenn Sie eine Zeichenfolge '@' verwenden übergeben wollen, die '&' sind nur für Funktionen.

Im nächsten Code, der aus dem angular-scroll-animate extrahiert wurde, können Sie sehen, dass whenVisible eine Funktion ist.

scope: { 
    whenVisible: '&', 
    whenNotVisible: '&?', 
    delayPercent: '=?', 
    bindScrollTo: '@?' 
} 
+0

ich bin verwenden bereits @ für neues Attribut (whenVisibleClass: '@') In meinem html gesetzt i

und i entfernen in (if (scope.whenVisible || angular.isFunction (scope (!!). whenVisible()))) aber immer noch Fehler – ratattapba

+0

In Ihrem html '

' müssen Sie das 'when-visible' Attribut mit einer Funktion setzen und entfernen Sie nicht die'! ' –

+0

, aber ich war create new Attribut whenVisibleClass: ' @ 'und ich setze when-visible ohne Funktion, da es eine Namensanweisung gibt, siehe jsfield jsfiddle.net/jgh9yumx/ – ratattapba