関連する学習の推奨事項: js ビデオ チュートリアル
Github アドレス
ベース Taro v3
開発、リモート JavaScript スクリプトを動的にロードして実行するマルチターミナルの小規模プログラムをサポート、 ES5 構文をサポート
useScriptContext
現在の実行コンテキストの取得text
属性、js 文字列で直接渡すことができますsrc
多層の TaroScript ネスト問題を解決するための配列をサポートnpm install --save taro-script复制代码
import TaroScript from "taro-script"; <TaroScript text="console.log(100+200)" />;复制代码
import TaroScript from "taro-script"; <TaroScript src="https://xxxxx/xx.js"> <View>Hello TaroScript</View> </TaroScript>;复制代码
注 1: 同じ taro-script
は 1 回だけ、つまり componentDidMount
の後、実行されます。プロパティは無効になります。例
function App({ url }) { // 只会在第一次创建后加载并执行,后续组件的更新会忽略所有属性变动 return <TaroScript src={url} />; }复制代码
注 2: 複数の taro-script
が並行してロードされ、順不同で実行されますが、順序は保証されません。例:
// 并行加载及无序执行 <TaroScript src="path1" /> <TaroScript src="path2" /> <TaroScript src="path3" />复制代码
実行順序を保証する必要がある場合は、次のように配列またはネストを使用する必要があります。
Array メソッド (推奨) )
<TaroScript src={["path1", "path2", "path3"]} />复制代码
またはネストされた方法
<TaroScript src="path1"> <TaroScript src="path2"> <TaroScript src="path3"></TaroScript> </TaroScript> </TaroScript>复制代码
globalContext
組み込みのグローバル実行コンテキスト
import TaroScript, { globalContext } from "taro-script"; <TaroScript text="var value = 100" />;复制代码
この時点のglobalContext。value
の値は100
Customcontext
Example
import TaroScript from "taro-script"; const app = getApp(); <TaroScript context={app} text="var value = 100" />;复制代码
this app.value
の値が 100
TaroScript
属性
string | string[]
string | string[]
text は ## よりも優先されます。 #src
タイプ: デフォルト値:
実行コンテキスト、デフォルトは
##timeout
タイプ:
number10000 ミリ秒
各リモート スクリプトの読み込みタイムアウトを設定します
onExecSuccess
タイプ:
()=> void スクリプト実行成功後のコールバック
onExecError
タイプ:
(err:Error)=> voidスクリプト実行エラー後のコールバック
onLoad
Type:
() => voidスクリプトがロードされ、正常に実行された後のコールバック。
text
onError
Type:
(err: Error ) => void スクリプトの読み込み失敗またはスクリプト実行エラー後のコールバック、
text
fallback
型:
React.ReactNode スクリプト読み込み、読み込み失敗、実行失敗の内容を表示
キャッシュ
タイプ:
booleanデフォルト値:
true
ロード キャッシュを有効にするかどうか、キャッシュ ポリシーは現在のリクエスト アドレスを使用します。
key
children
タイプ:
React.ReactNode | ((context: T) => React.ReactNode)読み込み完了後に表示されるコンテンツは、
関数
useScriptContext()
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">import TaroScript, { useScriptContext } from "taro-script";
<TaroScript text="var a= 100">
<Test />
</TaroScript>;
function Test() {
const ctx = useScriptContext();
return ctx.a; // 100
}复制代码</pre><div class="contentsignin">ログイン後にコピー</div></div>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">import { evalScript } from "taro-script";
const value = evalScript("100+200"); // 300复制代码</pre><div class="contentsignin">ログイン後にコピー</div></div>
Others## をサポートします。
#運用環境に移行する前にロードする必要があるアドレスの有効なドメイン名を忘れずに設定してください
TaroScript組み込み型とメソッド:
NaN,Infinity,undefined,null,Object,Array,String,Boolean,Number,Date,RegExp,Error,URIError,TypeError,RangeError,SyntaxError,ReferenceError,Math,parseInt,parseFloat,isNaN,isFinite,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,escape,unescape,eval,Function,console, setTimeout, clearTimeout, setInterval, clearInterval,复制代码
組み込み型は、現在実行中の JavaScript 環境に関連しています。環境自体がサポートしていない場合は、サポートされません。 !
import TaroScript, { globalContext } from "taro-script"; globalContext.hello = function(){ console.log('hello taro-script') } <TaroScript text="hello()"></TaroScript>;复制代码ログイン後にコピーまたはカスタム コンテキスト
import TaroScript from "taro-script"; const ctx = { hello(){ console.log('hello taro-script') } } <TaroScript context={ctx} text="hello()"></TaroScript>;复制代码ログイン後にコピー
プログラミングについて詳しく知りたい場合は、しばらくお待ちください
phptraining列!
以上がtaro-script 0.4 がリリースされました。Taro v3 に基づく JS インタープリター コンポーネントについて学習します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。