Mam funkcję, w której zmieniam tekst przycisku na podstawie pewnej wartości

$scope.text = 'Wait';

if(Number($scope.x) == Number($scope.y))
    $scope.text = 'Go'
else if(Number($scope.x) < Number($scope.y)
    $scope.text = 'Wait'

Następnie użyj text w HTML na znaczniku przycisku

<button type="submit" ng-click="proceed()">{{text}}</button>

Na przycisku dzieje się funkcja, proceed. Chciałem przestać dzwonić funkcję proceed, jeśli tekst jest poczekaj . Aby to zrobić, próbowałem czegoś takiego.

$scope.check = function(val) {
    if(val == 'Go') {
        $scope.proceed();
    }
}

I używam go w html jak

<button type="submit" ng-click="check({{text}})">{{text}}</button>

Ale dostaję błąd

Error: [$parse:syntax]

Chciałem, jeśli jest inny lepszy sposób na to. Każda pomoc będzie bardzo doceniana.

1
Unknown User 13 październik 2017, 09:39

2 odpowiedzi

Najlepsza odpowiedź

Nie przejdź do tego tekstu.

Zmień to na:

<button type="submit" ng-click="check(text)">{{text}}</button>

Spowoduje to rozwiązanie błędu.

1
vertika 13 październik 2017, 06:44

Nie musisz interpolować tekst w tym punkcie, możesz po prostu przekazać go do funkcji. TO ZNACZY:

<button type="submit" ng-click="check(text)">{{text}}</button>

0
Bunyamin Coskuner 13 październik 2017, 06:43