2014-12-14 3 views
0

Я хотел бы использовать Угловые с этой полосой оплаты модальные. Ни одна из переменных цены не назначается в теге скрипта. Есть ли способ сделать это с помощью Angular?Как использовать AngularJS в теге скрипта?

HTML

<div ng-app="app"> 
<div ng-controller="ctrl"> 
<form action="" method="POST"> 
    <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key="pk_test_" data-amount={{price}} data-name="Example Product" data-description="Example Product {{price}}" data-image="/128x128.png"> 
    </script> 
    <br>Price ${{price}} 
</form> 
</div> 
</div> 

Угловой:

var app = angular.module('app',[]); 

function ctrl($scope) { 
    $scope.price = "77"; 
} 

Пример: http://jsfiddle.net/ppq1orso/

+0

Что ваша проблема именно? Я запустил вашу скрипку, и все работает отлично ... Посмотрите на экран дерева DOM: http://oi58.tinypic.com/23mph87.jpg –

+0

Интересно. Почему это не делает jsfiddle? Я также пробовал это в локальном файле, и он тоже не работает. Можете ли вы опубликовать jsfiddle с кодом? – 4thSpace

ответ

2

Вы можете установить свойства в контроллере, а не с помощью тега сценария

У Вас будет для добавления пользовательской кнопки

<button type="submit" ng-click="pay()" class="stripe-button-el" style="visibility: visible;"><span style="display: block; min-height: 30px;">Pay with Card</span></button> 

И в контроллере:

var handler = StripeCheckout.configure({ 
     image: "https://stripe.com/img/documentation/checkout/marketplace.png", 
     key:'pk_test_' 
    }); 

    $scope.pay = function(){ 
     handler.open({ 
      name: 'Example Product', 
      description: 'Example Product ' + $scope.price, 
      amount: $scope.price * 100 
     }); 
     e.preventDefault(); 
    }; 

Эта работа, как и ожидалось:

http://jsfiddle.net/ppq1orso/3/

+0

Удивительный! Это полностью отличается от любых предложений кода Stripe. Один вопрос: есть ли способ получить (более привлекательную) синюю кнопку? Я предполагаю, может быть, это может быть стиль? – 4thSpace

+0

Да. Я отредактировал ответ. Я забыл добавить ссылку css на jsfiddle! –

+0

Отлично! Благодарю. – 4thSpace

Смежные вопросы