Heim  >  Artikel  >  Web-Frontend  >  Verwendung des Parsings im Avalon-Frontend-Projekt

Verwendung des Parsings im Avalon-Frontend-Projekt

php中世界最好的语言
php中世界最好的语言Original
2018-05-24 10:52:462593Durchsuche

Dieses Mal werde ich Ihnen eine Analyse der Verwendung von Avalon-Front-End-Projekten bringen. Welche Vorsichtsmaßnahmen werden in Avalon-Front-End-Projekten angewendet?

1 Kleine Beispiel-Datenschleife

Verwendung des Parsings im Avalon-Frontend-Projekt

nbsp;html>


  <meta>
  <meta>
  <meta>
  <script></script>


  
                                                                                                                                                                       
序号项目名称开始时间合同金额支付金额支付比例
{{$index}}{{el.pro_name}}{{el.crt_time}}{{el.contract_money|number(2)}}{{el.pay_money|number(2)}}           0                    {{el.pay_money / el.contract_money *100|number(2)}}%         
<script> vm = avalon.define({ $id: &#39;test&#39;, data: {} }); //这里是请求服务器 // $.ajax({ // url:&#39;../json/avalon_for.json&#39;, // type:&#39;get&#39;, // dataType:&#39;json&#39;, // success: function (ajax) { // vm.data=ajax.data; // // console.log(vm.data) // } // }); vm.data = [{ "pro_name": "沙湖,南湖水环境提升规划方案", "crt_time": "2017-10-27", "contract_money": "20000", "pay_money": "0" }, { "pro_name": "保利升官渡项目新建地下车库通道方案论", "crt_time": "2017-10-27", "contract_money": "6000", "pay_money": "555" }, { "pro_name": "邬家巷(鹦鹉大道-南城巷)道路排水修建规划", "crt_time": "2017-10-28", "contract_money": "7777", "pay_money": "3333" } ] </script>

2 vm können Werte voneinander erhalten

Verwendung des Parsings im Avalon-Frontend-Projekt

nbsp;html>


    <meta>
    <meta>
    <meta>
    <script></script>
    <title>Document</title>


    <p>{{@a}}</p>
    <p>
        {{@a}}
        <span>{{@b}}</span>
    </p>


<script>
    var vm = avalon.define({
        $id: &#39;wrap&#39;,
        a: &#39;123&#39;
    });
    var def = avalon.define({
        $id: "wrap2",
        a: "大家好",
        b: vm.a   //获取第一个Model里的属性值
    });
</script>

3 Integrierte Befehle

  1. $id, der Name von vm

  2. $watch, wird zum Hinzufügen von Abhörfunktionen verwendet

  3. $fire, wird zum Auslösen der Abhörfunktion verwendet

  4. $events, wird zum Speichern der Zuhörfunktion verwendet

  5. $model, gibt ein reines JS-Objekt

  6. $element zurück, neu in 2.0, wenn wir ms-controller verwenden, ms-important, um den Umfang einer VM und das entsprechende Element anzugeben Knoten wird auf diesem Attribut platziert.

  7. $computed, neu in 2.2.1, wird verwendet, um berechnete Eigenschaften zentral zu definieren

4 Berechnete Eigenschaften

4.1 Fall abrufen

nbsp;html>


    <meta>
    <meta>
    <meta>
    <script></script>
    <title>Document</title>


  <p>{{@fullName}}</p>


<script>
  var vm = avalon.define({
      $id: &#39;test&#39;,
      firstName: &#39;司徒&#39;,
      lastName: &#39;正美&#39;,
      $computed: {
          //fullName依赖于firstName与lastName
          fullName: function(){
              return this.firstName+&#39; &#39;+this.lastName
          },
          //xxx只依赖于firstNaem
          xxx: function(){
              return this.firstName+&#39;!!&#39;
          }
      }
  })
  setTimeout(() => {
    vm.lastName = &#39;西瓜&#39;;
  },3000);
  </script>

4.2 Fall festlegen

nbsp;html>


    <meta>
    <meta>
    <meta>
    <script></script>
    <title>Document</title>


  <p>{{@firstName}}</p>
  <p>{{@lastName}}</p>


<script>
  var vm = avalon.define({
      $id: &#39;test&#39;,
      firstName: &#39;杀猪&#39;,
      lastName: &#39;牛刀&#39;,
      $computed: {
          //fullName依赖于firstName与lastName
          fullName: {
              get: function(){
                  return this.firstName+&#39; &#39;+this.lastName
              },
              set: function(val){
                  var arr = val.split(&#39; &#39;)
                  this.firstName = arr[0]
                  this.lastName = arr[1]
              }
          }
      }
  })
  setTimeout(() => {
    vm.fullName = "你有 病吧"
  }, 3000);
  </script>

4.3 Fall der Fuzzy-Suche nach berechneten Attributen

nbsp;html>


    <meta>
    <meta>
    <meta>
    <script></script>
    <title>Document</title>


  <p>
    {{@test1}}
    </p>
                                                  <script> avalon.component(&#39;ms-autocomplete&#39;, { template: &#39;<p><input type="text" ms-duplex-string="@search" />&#39; + &#39;<ul><li ms-for="($idx,opt) in @aaa">&#39; + &#39;{{opt.community_name}}&#39;, defaults: { search: &#39;&#39;, communities: [], onReady:function(e){ e.vmodel.$watch(&#39;search&#39;, function(v){ avalon.log(&#39;current search word is &#39;+ v) }) }, $computed: { aaa: { get: function() { var ret = []; for (var i = 0; i < this.communities.length; i++) { if ((this.communities[i].community_name.indexOf(this.search) > -1)) { ret[ret.length] = this.communities[i]; if(ret.length === 5){ break } } } return ret; } } } } }); communities = [{ community_id: 3, community_name: &#39;This&#39;, }, { community_id: 5, community_name: &#39;isnot&#39;, }, { community_id: 8, community_name: &#39;agood&#39;, }, { community_id: 10, community_name: &#39;example&#39;, }, { community_id: 22, community_name: &#39;for&#39;, }, { community_id: 23, community_name: &#39;such&#39;, }, { community_id: 43, community_name: &#39;test&#39;, }, { community_id: 45, community_name: &#39;thank&#39;, }, { community_id: 47, community_name: &#39;you&#39;, }, { community_id: 50, community_name: &#39;verymuch&#39;, }, { community_id: 51, community_name: &#39;youre&#39;, }, { community_id: 53, community_name: &#39;welcome&#39;, }, { community_id: 54, community_name: &#39;too&#39;, }, { community_id: 55, community_name: &#39;notsogood&#39;, }, { community_id: 56, community_name: &#39;cheerful&#39;, }]; var vm = avalon.define({ $id: &#39;avalon&#39;, test1: &#39;test1&#39;, communities: communities, }); </script>

5 Datenlern-Vue in Objektdaten einfügen, aber Vue ist viel praktischer

nbsp;html>


    <meta>
    <meta>
    <meta>
    <script></script>
    <title>Document</title>


  <p>{{@data.firstName}}</p>
  <p>{{@data.lastName}}</p>


<script>
  var vm = avalon.define({
      $id: &#39;test&#39;,
      data:{
        firstName: &#39;杀猪&#39;,
        lastName:&#39;牛刀&#39;,
      },
      methods:{
          
      }
      
  })
  setTimeout(() => {
    vm.data.firstName = &#39;哈哈&#39;
  }, 3000);
  </script>

6 Array-Operationsmethode

  1. pushArray(el), erfordert die Übergabe eines Arrays und das Hinzufügen aller darin enthaltenen Elemente das Ende des aktuellen Arrays.

  2. remove(el) erfordert die Übergabe und Entfernung eines Elements durch Gleichheitsvergleich.

  3. removeAt(index), das die Übergabe einer Zahl erfordert, entfernt das Element an der entsprechenden Position.

  4. removeAll(arrayOrFunction) hat drei Verwendungszwecke. Wenn es sich um eine Funktion handelt, filtern Sie die Elemente, die nach dem Vergleich den wahren Wert erhalten.
    Wenn es sich um ein Array handelt, kombinieren Sie dies Array mit Alle gleichen Elemente im ursprünglichen Array werden entfernt; wenn keine Parameter vorhanden sind, werden alle gelöscht.

  5. clear(), äquivalent zur dritten Methode von removeAll(), löscht alle Elemente des Arrays. Aufgrund der Notwendigkeit, Ansichten zu synchronisieren, können Elemente nicht über die Methode vm.array.length
    = 0 gelöscht werden.

  6. Stellen Sie sicher, dass dieses Element nur hinzugefügt wird, wenn es nicht im Array vorhanden ist.

  7. set(index, el), wird verwendet, um das Element an einer bestimmten Indexposition zu aktualisieren, da ein Array aus einfachen Array-Elementen seine Elemente nicht umwandelt

  8. toJSON(), wird verwendet, um das $model des Arrays zu erhalten, 2.2.2 neu hinzugefügte Methode

6.1 Beispiel für den Betrieb des Arrays pushArray (keine wiederholte Hinzufügung)

nbsp;html>


    <meta>
    <meta>
    <meta>
    <script></script>
    <title>Document</title>



<script>
    var vm = avalon.define({
        $id: &#39;xxx&#39;,
        array: [1, 2, 3]
    })
    vm.array.push(4, 5, 6)
    vm.array.pushArray([4, 5, 6]) //这个比push方法好用
    vm.array.clear()
    vm.array.ensure(3) //[3]
    vm.array.ensure(3) //[3]
    console.log(vm.array);
    vm.array.ensure(4) //[3,4]
    console.log(vm.array);
</script>

6.2 Beispiel für eine Remove()-Array-Operation delete

nbsp;html>


    <meta>
    <meta>
    <meta>
    <script></script>
    <title>Document</title>


    <p>
        {{el}}<button>点我删除该行</button>
    </p>
    <script>
    avalon.define({
        $id: &#39;test&#39;,
        arr: [1,2,3,4,5,6]
    })
    </script>

7, wenn Anzeige und Ausblenden das Ausblenden von Stationen einschließen

nbsp;html>


    <meta>
    <meta>
    <meta>
    <script></script>
    <title>Document</title>


  <script>
  var vm = avalon.define({
    $id: "test",
    aaa: "这是被隐藏的内容",
    toggle: false
  })
  </script>
  <p><button>点我</button></p>
  <p>{{@aaa}}</p>
  <p>{{@aaa}}</p>
  

9 für Schleife von arr und obj

nbsp;html>


    <meta>
    <meta>
    <meta>
    <script></script>
    <title>Document</title>


  
        
  • {{el}}
  •   
  
        
  • {{key}}--{{val}}
  •   
<script> var vm = avalon.define({ $id: "test", data:{ array:[1,2,3,4], obj:{a:1,b:2,c:3} } }) </script>

10 Ereignisse

  • Animationend,

  • Unschärfe, Fokusänderung, Eingabe,

  • click, dblclick, , keydown, keypress, keyup,

  • Mousedown, MouseEnter, Mouseleave, Mousemove, Mouseout,

  • Mouseover, MouseUp, scrollen, absenden

Abkürzung: click-1="@fn(el)" :click-2="@fn(el)"

Ich glaube, das hast du Lesen Sie diesen Artikel. Sie beherrschen die Fallmethode. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Chart.js Lightweight-Diagrammbibliothek-Anwendungsfallanalyse

Chart.js Lightweight Detaillierte Erklärung der Schritte zur Verwendung der HTML5-Bibliothek zum Zeichnen von Diagrammen

                
                        
  • {{el.community_name}}
  •                 
            
                            

Das obige ist der detaillierte Inhalt vonVerwendung des Parsings im Avalon-Frontend-Projekt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn