zoukankan      html  css  js  c++  java
  • 前端开发web组件之旅(一)-- 定义与加载组件

    /* 前言 */

    自上而下的 职责和API
    应用层
    框架层
    框架
    浏览器

    一 组件定义与调用

    1.增加一个组件

    tabview.css
    --------------------------------------------
    .tabview_menu{xxxxx};
    .tabview_content{xxxxx};
    

      

    tabview.js
    ----------------------------------
            var abc =5;
            function TabView(cfg){
                      this.a = cfg.a;
                      this.b = cfg.b;
    }    
    
          TabView.prototype = {
                     c: function(){ abc++;},
                     d: function(){ abc--;}
    }
    
        
    

     

    2.引用一个组件 

      <link type="text/css" rel="stylesheet" href="css/tabview.css" >
      <script  type="text/javascript" src="js/tabview.js" ></script>
       <script type="text/javascript">
         (function(){
               var tabview = new TabView();
    })()
      </script>
    

     

    3.CSS命名空间和js匿名空间

    treeview.css
    ----------------------------------
    .treeview_menu{xxxx}
    .treeview_content{xxxx}
    
    /**Js通过匿名空间隔开公有私有,通过匿名函数形成域,把对象挂载到window上暴露出来接口
    /*window.TabView = TabView //闭包的经典应用

    **/
    tabview.js
    ------------------------------------
    (function() {
         var abc = 5;
         function TabView(cfg){
                 this.a = cfg.a;
                 this.b = cfg.b;
      }
        TabView.prototype = {
                c: function(){ abc++},
                d: function(){abc--;}
        }
            window.TabView = TabView;
    })();           
    

      

    4.基于require.js重写代码

    animate.js
    ----------------------------------
    define(function(){
       function Animate(){};
       return {Animate: Animate};
    });
    

      

    treeview.js
    ----------------------------------------
    define(function(){
             function TreeView(){};
             return {TreeView:TreeView};
    });
    

      

    tabview.js
    ----------------------------
    define([ 'animate' ],function(a){
          function TabView(){
                  this.animate = new a.Animate();
    };
    return {TabView: TabView};
    });
    

      

    main.js
    -------------------------------------
    require ([  'tabview' ,' treeview' ],function(tab,tree){
                   var tabView = new tab.TabView(),
                         treeView = new tree.TreeView();
    });
    

      

     

     

  • 相关阅读:
    Hbase架构与原理(转)
    Hbase的表结构中rowkey的设计---避免热点问题
    mysql之my.cnf详解
    MongoDB CPU利用率很高,怎么破(转)
    数据库设计(2/9):域,约束和默认值(Domains, Constraints and Defaults)
    数据库设计(1/9):数据元(Data Elements)
    SQL Server安全(11/11):审核(Auditing)
    VARCHAR列上的索引
    SQL Server 2016里的sys.dm_exec_input_buffer
    在SQL Server里禁用聚集索引——真的好么?
  • 原文地址:https://www.cnblogs.com/jerry666/p/5637844.html
Copyright © 2011-2022 走看看