簡體   English   中英

訪問angularjs作用域變量並將其分配給html中的腳本標簽屬性

[英]accessing angularjs scope variables and assigning it to script tag attributes in html

我有一些數據作為范圍變量存儲在控制器中,並希望將它們分配給腳本標記的屬性,該標記以html實現並用於支付網關。

以下是范圍變量:

$scope.selectedPlan = plan;

這里selectedPlan是具有以下值的數據對象數組:

plan_id: 3
plan_name: "Basic"
price: "30"
validity_text: "30 days"

需要訪問上述某些值,例如在html文件中實現的腳本標簽中的價格。 以下是腳本標記的代碼:

<script
                src="https://checkout.stripe.com/checkout.js" class="stripe-button"
                data-key="pk_test_ghxvjhdasfwdadsd"
                data-amount="{{selectedPlan.price}}*100"
                data-name="Amazing Test"
                data-description="Amt: $ {{selectedPlan.price}}"
                data-image="http://test.com/assets/Images/globe.png">
              </script>

在上面的書面代碼中,selectedplan是控制器的作用域對象,並且價格屬性需要分配給腳本標簽的data-amount和data-description屬性。 由於我是angularjs的新手,所以不知道如何實現它。

請幫助我實現我想要的。

如果要為腳本標記動態計算屬性,則需要使用ng-attr指令。 代碼變為:

<script
   src="https://checkout.stripe.com/checkout.js"
   class="stripe-butt"
   data-key="pk_test_4RvHCPGrrtHK9dW0vqO938ge"
   ng-attr-data-amount="{{selectedPlan.price*100}}"
   data-name="Amazing Minds"
   ng-attr-data-description="Amt: $ {{selectedPlan.price}}"
   data-image="http://itutor.staging.broadweb.com.au/assets/Images/itutorglobe.png">
</script>

但是,Angular並不意味着動態修改<script>標簽。 我自己從未嘗試過此操作,但我可以肯定,即使在angular有時間編譯它們之前,腳本標簽也只能使用初始參數讀取一次。

解決該問題的一種方法是在將代碼附加到DOM之前,使用Angular的$compile服務編譯該代碼。

但是,這可能會使事情復雜化。 您最好手動創建它。 操作方法如下: 動態創建腳本標簽

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM