zoukankan      html  css  js  c++  java
  • Atlas学习手记(19):客户端简单控件介绍

    ASP.NET Atlas中引入了客户端控件的概念,用面向对象思想将客户端JavaScript将要操作的DOM元素封装起来,带来了更清晰的代码模型以及更好的可复用性(不足之处是效率有所降低)。Atlas的客户端控件是连接JavaScript与DOM元素的桥梁,我们应该尽可能的使用客户端控件与DOM元素打交道,也就是以Atlas的方法来编写我们的程序。

    本文主要简单介绍一下Atlas中的客户端简单控件。

    主要内容

    1.概述

    2.Sys.Component基类

    3.Sys.UI.Control基类

    4.其他控件

    一.概述

    ASP.NET Atlas中引入了客户端控件的概念,用面向对象思想将客户端JavaScript将要操作的DOM元素封装起来,带来了更清晰的代码模型以及更好的可复用性(不足之处是效率有所降低)。Atlas的客户端控件是连接JavaScript与DOM元素的桥梁,我们应该尽可能的使用客户端控件与DOM元素打交道,也就是以Atlas的方法来编写我们的程序。

    二.Sys.Component基类

    Sys.Component是所有的Atlas客户端控件的抽象基类,它的属性和方法如下:

    名称

    描述

    属性

    id

    Atlas组件的标识符,将Atlas客户端组件与DOM元素连接起来。这个id值与DOM元素的id属性值相同,Atlas使用这个id以找到相关的DOM元素。

    bindings

    该组件的绑定集合。

    dataContext

    该组件的绑定的操作对象。如果您设置了这个属性,那么所有绑定条目默认会继承这个对象,但您也可以在绑定的声明中覆盖这个默认的设定。

    isInitialized

    布尔值,代表该组件是否被初始化过。只读。

    isUpdating

    该组件是否正在更新中,在开始调用beginUpdate()方法到调用endUpdate()方法期间为true,其他时间为false。只读。

    方法

    beginUpdate

    更新组件,提高性能或者减少屏幕闪烁,必须与endUpdate配对使用

    endUpdate

    更新组件,提高性能或者减少屏幕闪烁,与beginUpdate配对使用

    initialize

    构造函数

    事件

    propertyChanged

    当组件的某个属性变化时,应该引发该事件。Atlas绑定的实现依赖于这个事件。

    三.Sys.UI.Control基类

    所有的Atlas客户端控件都必须继承于Sys.UI.Control,它的基本定义形式如下:

    <control accesskey="accelerator key" 

        cssclass
    ="CSS class" 

        datacontext
    ="source for data binding operations"

        enabled
    ="true|false" 

        id
    ="identifier for looking up the component by name" 

        propertychanged
    ="event handler"

        tabindex
    ="element's tab index" 

        visibilitymode
    ="Hidden|Collapse" 

        visible
    ="true|false"

    > 

        
    <behaviors>

            
    <!-- behaviors -->

        
    </behaviors>

        
    <bindings>

            
    <!-- bindings -->

        
    </bindings>

        
    <propertyChanged>

            
    <!-- actions -->

        
    </propertyChanged>

    </control>

    它的属性和方法:

    名称

    描述

    属性

    accessKey

    获取或设置控件的accessKey,该属性是DOM元素中的accessKey属性的包装。

    associatedElement

    返回控件的相关DOM元素。这个属性应该传入给控件的构造函数,并在构造以后不可以修改。

    behaviors

    该组件的Behavior集合。

    cssClass

    获取或设置控件的CSS Class,该属性是DOM元素中的class属性的包装。

    enabled

    代表该控件是否被启用,该属性是DOM元素中的enabled属性的包装。

    parent

    获取或设置该控件的父控件。

    style

    获取该控件相对应的DOM元素的style属性值。

    tabIndex

    获取或设置该控件的tab index。

    visibilityMode

    获取或设置该控件在隐藏时的显示模式,可选枚举值:Sys.UI.VisibilityMode.Collapse代表该控件隐藏时不占用页面空间,Sys.UI.VisibilityMode.Hidden代表该控件隐藏时依然占有其位置。

    visible

    获取或设置该控件是否可见。

    方法

    addCssClass

    为该控件添加一个CSS Class。

    removeCssClass

    删除该控件的一个CSS Class。

    containsCssClass

    返回布尔值,代表该控件是否有指定的CSS Class。

    toggleCssClass

    如果该控件没有指定的CSS Class,则添加,如果有,则删除。

    focus

    使该控件获得输入焦点。

    scrollIntoView

    使该控件滚动到屏幕可视范围内。

    onBubbleEvent

    处理该控件的子控件发出的Bubble事件。

    raiseBubbleEvent

    该方法会调用该控件所有父控件的onBubbleEvent方法,来实现Bubble事件。

    四.其他控件

    这里简单介绍一下Atlas内置的一些客户端简单控件。

    名称

    描述

    Button

    Atlas将DOM元素中的Button概念扩展,使Button不单单指type为button或submit的HTML input元素,还可以应用到例如span,a等元素上,提供开发人员统一的编程接口。

    CheckBox

    CheckBox封装了type为checkbox的input DOM元素。

    HyperLink

    HyperLink控件继承于Sys.UI.Label,用来封装HTML中的a元素。

    Image

    Image控件作为对DOM元素img的封装。

    InputControl

    InputControl类是一个抽象类,作为所有提供用户输入的控件(例如TextBox,见下文)的基类,提供了输入数据验证等公有操作。

    Label

    Atlas中的Label控件可以用来显示一段文字,同时也可以作为一段HTML的占位符。

    Select

    Select控件封装了DOM元素select,可用来表示一个Drop Down List。

    TextBox

    Atlas中的TextBox封装了type为input的DOM元素input,或是DOM元素textarea。

    关于客户端简单控件件简单的学习到这儿,在下一篇我会用一个简单的例子来说明Button的使用。

    [说明:本文内容基本来自于Dflying的文章]

  • 相关阅读:
    迎接2019多校联合新生训练赛(2018/12/31)
    Educational Codeforces Round 57 (Rated for Div. 2) 前三个题补题
    睡学预习(4)
    睡学预习(3)
    Python学习笔记(3)动态类型
    Maya Calendar POJ
    睡学预习(2)——数列极限
    2018-2019赛季多校联合新生训练赛第八场(2018/12/22)补题题解
    蓝桥杯入门题:Hello, world!
    蓝桥杯:P1103
  • 原文地址:https://www.cnblogs.com/qfb620/p/1120945.html
Copyright © 2011-2022 走看看