ODOO OWL Framework介紹


  2020年10月,odoo14版本發布了,隨之正式帶來了OWL這一全新框架,它具備hooks鈎子,交互反應狀態與並行模式等特征。

  OWL英文全稱是Odoo Web Library,整個框架很小(~<20kbgzip),旨在作為odoo web的UI基礎。Owl 是現代化的web框架,主要用Typescript, 吸取了React、Vue等t框架的優秀理念,主要具備如下主要特性:

  聲明性組件系統,

  基於hooks鈎子的反應系統,

  並發模式,

  前端路由;

  Owl 的components使用ES6定義, 使用QWeb模板, 基於virtual DOM, 與hooks很好的集成, 以異步方式呈現。很明顯,ODOO的卓越發展,使得官方為了在web方面擁抱先進,不惜自己重新打造一個適合odoo的全新框架。對於廣大的odoo開發者來說,要深入odoo,就必須擁抱OWL框架。

  來看下owl的例子代碼:

const { Component, useState, mount } = owl;
const { xml } = owl.tags;

class Counter extends Component {
  static template = xml`
    <button t-on-click="state.value++">
      Click Me! [<t t-esc="state.value"/>]
    </button>`;

  state = useState({ value: 0 });
}

class App extends Component {
  static template = xml`
    <div>
      <span>Hello Owl</span>
      <Counter />
    </div>`;

  static components = { Counter };
}

mount(App, { target: document.body });

  上面代碼中,可以看到counter組件使用useState hook進行反饋。同時代碼通過xml helper定義了格內聯模板。當然,大多數情況下,我們可以將模板單獨定義。

  更多owl方面的內容,可以點擊 OWL官方技術站點  訪問了解。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM