art-template 模板定義變數並更改變數值 不讓其輸出顯示
阿新 • • 發佈:2018-12-30
在使用art-template.js出現如下的場景:
比如,迴圈體外面定義變數,並且在迴圈體內改變變數的值 但我又不想讓其顯示出來。
那我們一步一步的來實現以上的場景 看看會出現什麼神奇的地方。
1.首先引入template-web.js
2.編寫模板檔案
<script id="template" type="text/html"> // 1.定義變數flag = false <br/> {{set flag = false}} // 2.迴圈 <br/> {{each target list i}} {{each target list2 j}} {{if(i==j)}} // 3.改變flag的值 <br/> // 方案1(撲街):{{flag = true}} <br/> // 直接在模板中這樣寫“flag = true”,這樣最終的值到是改變了 , // 但是它也會在渲染過後顯示在頁面上。而我們只是想改變值而不想讓其顯示出來 // // 方案二(撲街): {{set flag = true}} // 我的理解是迴圈的作用域set了一個區域性變數 , // 跟在迴圈體外面定義的flag 是兩個不同的變數 // 所以這個方式雖然沒有讓其顯示,但是卻沒有改變迴圈體定義的flag的值 沒有起作用 // 經過各種查詢資料 似乎都沒有找到解決方案,本打算就此放棄。 // 通過各種嘗試,並大膽推測:此模板是否支援“鏈式賦值”。自己也就嘗試了一下。 // 成功了,不得不感嘆art-template模板的強大,還有狠多有待挖掘。 // 記錄一下,以免走彎路。 // 方案三(彩蛋):{{set flag1 = flag = true}} {{set flag1 = flag = true}} // 關鍵一步 {{/if}} {{/each}} {{/each}} // 4. 輸出flag值 {{flag}} </script>
結果顯示:
// 1.定義變數flag = false
// 2.迴圈
// 4. 輸出flag值
true
已此記錄, 方便交流