art-template 模板定義變量並更改變量值 不讓其輸出顯示

在使用art-template.js出現以下的場景:html

好比,循環體外面定義變量,而且在循環體內改變變量的值  但我又不想讓其顯示出來。

那咱們一步一步的來實現以上的場景 看看會出現什麼神奇的地方。web

1.首先引入template-web.jsspa

2.編寫模板文件code

<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}}   // 關鍵一步 修改flag的值 而沒有輸出顯示
    {{/if}}
{{/each}}
{{/each}}

// 4. 輸出flag值 
{{flag}}
</script>

結果顯示:htm

// 1.定義變量flag = false 
// 2.循環 
// 4. 輸出flag值 
true

已此記錄, 方便交流
Java技術乾貨blog

相關文章
相關標籤/搜索