W语法
Class W
- Defined in: w-core.js
Constructor Attributes | Constructor Name and Description |
---|---|
<inner> |
W()
W是DOM元素的封装对象。对于全局页面来说,W是document.body的封装。对于每个窗口来说,W是该窗口对应的DOM元素(通常是div)的封装。
W对象具有同一个原型,这个原型可以通过W.extend函数来扩展。 窗口内的Javascript代码通过访问W对象来完成所有窗口操作,包括DOM修改,事件处理,资源操作,数据绑定等等。不同窗口具有不同的W的实例,以保证彼此之间的隔离性。 |
Field Attributes | Field Name and Description |
---|---|
指定一个引导函数,当Bumblebee初始化完成后,调用这个函数
此函数只应在引导页面调用。引导函数被保证会在核心代码及第三方库载入后调用。 |
Method Summary
Method Attributes | Method Name and Description |
---|---|
$(id, exclude_mixin)
获得窗口中指定ID的元素的W对象
|
|
alert(msg)
显示一段提示信息
|
|
allow(resource, methods)
查询资源是否支持指定的方法
可以通过W.done注册回调函数。若所有方法都支持,则调用成功处理的回调函数,否则调用异常处理的回调函数。 |
|
Array(obj)
将参数包装为数组。参数本身是数组,直接返回参数值;参数为非undefined的其他值,返回包含该值的长度为1的数组;参数为undefined,返回空数组
|
|
assert(condition, msg, callback)
判断一句断言是否成立。若成立,执行指定的回调函数;若不成立,显示指定的提示信息
|
|
attr(name, value)
设置或读取元素属性值
|
|
call(f)
调用传入的函数
|
|
cancel_upload(resource, file_id)
取消文件上传
可以通过W.done注册回调函数。如果对应的Java方法是正常返回(即用return返回),则调用成功处理的回调函数。如果对应的Java方法抛出异常,则调用异常处理的回调函数。 |
|
Chain()
构造一个调用链
|
|
Class(constructor, declaration)
定义类
|
|
clean()
清理元素
这将清理元素和其所有子元素,清除绑定在这些元素上的额外数据(如事件监听函数) |
|
close()
关闭窗口
|
|
confirm(msg, callback)
显示一段确认信息让用户进行确认。确认完成后执行指定的回调函数
|
|
create(resource, data)
创建资源
调用此函数后将会发起一个Ajax POST请求,调用服务器端资源的POST接口对应的Java类的方法,并传回返回值。 可以通过W.done注册回调函数。如果对应的Java方法是正常返回(即用return返回),则调用成功处理的回调函数。如果对应的Java方法抛出异常,则调用异常处理的回调函数。 |
|
css(name, value)
设置或读取元素样式
|
|
data(value, parent, ignore_setter)
设置或读取元素的绑定值
|
|
debug()
显示调试级别的日志信息
|
|
destroy()
清理并删除元素
|
|
done(handler)
为之前的异步调用注册回调函数
|
|
download(resource)
下载文件
|
|
each(obj, callback)
遍历数组或对象,将数组中的每一元素或对象中的每一键值对作为参数,调用指定的回调函数
|
|
error()
显示错误级别的日志信息
|
|
expando(name, value)
设置或读取元素扩展数据
|
|
extend(target)
将多个对象的属性合并到第一个对象中
当传入参数为多个对象时,所有对象的属性将被复制到目标对象,即第一个对象。 当传入参数为单个对象时,则认为目标对象为W的原型。可以使用此特性为W添加属性。由于操作的是W的原型,因此所有W的实例均可使用这些添加属性。 目标对象将会被修改以包含新增的属性,并作为函数的返回值。若不希望修改所有传入的对象,则可以传入一个空对象作为目标对象。 此函数不是递归的。同名的属性,无论是数组还是对象,都不会被合并,之后的对象的属性值会覆盖之前的对象的属性值。 值为undefined的属性将不会被复制。 |
|
filter(arr, func)
从数组中提取出所有满足条件的元素,组成一个新数组。这通过迭代原数组,对每一元素调用筛选函数,提取函数返回为true的元素来实现。
|
|
fire(event)
指定事件名称和参数,触发事件
|
|
focus()
将元素设置为浏览器焦点
|
|
get(resource)
获取资源
调用此函数后将会发起一个Ajax GET请求,调用服务器端资源的GET接口对应的Java类的方法,并传回返回值。 可以通过W.done注册回调函数。如果对应的Java方法是正常返回(即用return返回),则调用成功处理的回调函数。如果对应的Java方法抛出异常,则调用异常处理的回调函数。 |
|
height(value)
设置或读取元素高度
|
|
hide()
隐藏元素
|
|
html(html)
设置元素的HTML内容。Bumblebee会在设置完成后对这些HTML内容进行渲染
|
|
in_array(arr, value)
判断数组中是否包含指定元素。若包含,返回元素的坐标;若不包含,返回-1。和JavaScript原生的indexOf()函数相比,这里包含的判断用的是"相等"(==),而不是"全等"(===)
|
|
is_array(obj)
判断参数是否为数组
|
|
is_function(obj)
判断参数是否为函数
|
|
is_number(obj)
判断参数是否为数字
|
|
is_regexp(obj)
判断参数是否为正则表达式
|
|
join(handler)
创建一个空的异步调用并立即注册回调函数
|
|
map(arr, func)
将数组中所有元素映射成一组新的元素。这通过迭代原数组,对每一元素调用映射函数,提取函数的返回值来实现。
|
|
node_name(elem)
读取元素标签名称
|
|
notice(msg)
显示一段通知信息
|
|
now()
获得现在距1970年1月1日之间的毫秒数
|
|
off(events, handler)
解除事件监听函数和当前元素的绑定
|
|
on(events, modifier, handler)
绑定事件监听函数到当前元素上
|
|
once(events, modifier, handler)
绑定事件监听函数到当前元素上,和W.on的区别是,但监听函数只会执行最多一次
|
|
open(path)
打开窗口
可以通过W.done注册回调函数。如果打开的窗口被关闭,则调用成功处理的回调函数,并可以接受对方通过W.close返回的参数。 |
|
options(data, text, value, initial_options_length)
为当前的select元素构建option
|
|
param(obj, prefix)
将对象转换成标准的URL编码形式
|
|
polling(resource)
轮询资源
逻辑上等价于不停调用W.get来获取资源。通过监听资源的:get事件来处理轮询结果。 |
|
popup(path)
以弹出窗口形式,打开窗口
可以通过W.done注册回调函数。如果打开的窗口被关闭,则调用成功处理的回调函数,并可以接受对方通过W.close返回的参数。 |
|
push()
设置下一个回调函数的参数,用于在W协议中声明变量
|
|
refresh()
刷新窗口
|
|
remove(resource, data)
删除资源
调用此函数后将会发起一个Ajax PUT请求,调用服务器端资源的DELETE接口对应的Java类的方法,并传回返回值。 批量删除从语义上等于根据资源id的列表,创建一个匿名资源(资源集合),然后再其删除。因此是一个POST操作和一个DELETE操作的组合。由于DELETE具有等幂性,而POST不具有,另外DELETE不支持请求携带正文,所以在实际实现中,用具有等幂性并可携带正文的PUT来替代这个POST + DELETE的组合操作。 可以通过W.done注册回调函数。如果对应的Java方法是正常返回(即用return返回),则调用成功处理的回调函数。如果对应的Java方法抛出异常,则调用异常处理的回调函数。 |
|
show(path)
在容器元素中展示新窗口
|
|
<static> |
W.template_handler(html, args)
|
title(title)
设置窗口的标题
|
|
toggle(show_or_hide)
切换或设置元素的显示状态
|
|
获取一个全局唯一的ID
|
|
update(resource, data)
更新资源
调用此函数后将会发起一个Ajax PUT请求,调用服务器端资源的PUT接口对应的 Java 类的方法,并传回返回值。 可以通过W.done注册回调函数。如果对应的Java方法是正常返回(即用return返回),则调用成功处理的回调函数。如果对应的Java方法抛出异常,则调用异常处理的回调函数。 |
|
upload(resource, file, onprogress)
文件上传
可以通过W.done注册回调函数。如果对应的Java方法是正常返回(即用return返回),则调用成功处理的回调函数。如果对应的Java方法抛出异常,则调用异常处理的回调函数。 |
|
warn()
显示警告级别的日志信息
|
|
width(value)
设置或读取元素宽度
|
Class Detail
<inner> W()
W是DOM元素的封装对象。对于全局页面来说,W是document.body的封装。对于每个窗口来说,W是该窗口对应的DOM元素(通常是div)的封装。
W对象具有同一个原型,这个原型可以通过W.extend函数来扩展。
窗口内的Javascript代码通过访问W对象来完成所有窗口操作,包括DOM修改,事件处理,资源操作,数据绑定等等。不同窗口具有不同的W的实例,以保证彼此之间的隔离性。
W对象具有同一个原型,这个原型可以通过W.extend函数来扩展。
窗口内的Javascript代码通过访问W对象来完成所有窗口操作,包括DOM修改,事件处理,资源操作,数据绑定等等。不同窗口具有不同的W的实例,以保证彼此之间的隔离性。
Field Detail
main
指定一个引导函数,当Bumblebee初始化完成后,调用这个函数
此函数只应在引导页面调用。引导函数被保证会在核心代码及第三方库载入后调用。
此函数只应在引导页面调用。引导函数被保证会在核心代码及第三方库载入后调用。
Method Detail
-
{W} $(id, exclude_mixin)获得窗口中指定ID的元素的W对象
- Parameters:
- {String} id
- 元素ID
- {boolean} exclude_mixin Optional
- 内部使用参数
- Returns:
- {W} 对应到该元素的W实例
-
{W} alert(msg)显示一段提示信息
- Parameters:
- {String} msg
- 提示信息
- Returns:
- {W} this
-
{Chain} allow(resource, methods)查询资源是否支持指定的方法
可以通过W.done注册回调函数。若所有方法都支持,则调用成功处理的回调函数,否则调用异常处理的回调函数。- Returns:
- {Chain}
-
{Array} Array(obj)将参数包装为数组。参数本身是数组,直接返回参数值;参数为非undefined的其他值,返回包含该值的长度为1的数组;参数为undefined,返回空数组
- Parameters:
- {mixed} obj
- Returns:
- {Array}
-
{Chain} assert(condition, msg, callback)判断一句断言是否成立。若成立,执行指定的回调函数;若不成立,显示指定的提示信息
var x = 1; W.assert(x > 0, 'Assertion failed', function() { alert('Assertion passed'); });
- Parameters:
- {boolean} condition
- 断言
- {String} msg
- 断言不成立时,显示的提示信息
- {function} callback Optional
- 断言成立时,执行的回调函数
- Returns:
- {Chain}
-
{mixed} attr(name, value)设置或读取元素属性值
- Parameters:
- {String} name
- 属性名
- {mixed} value Optional
- 属性值。需要读取时,省略此参数
- Returns:
- {mixed} 获取时,返回元素属性值;设置时,返回this
-
{Chain} call(f)调用传入的函数
function add(a, b) { return a + b; } W.call(add, 1, 2).done(function(sum) { alert(sum); });
- Parameters:
- {function(args...)} f
- 被调用函数
- args... Optional
- 被调用函数的参数列表
- Returns:
- {Chain}
-
{Chain} cancel_upload(resource, file_id)取消文件上传
可以通过W.done注册回调函数。如果对应的Java方法是正常返回(即用return返回),则调用成功处理的回调函数。如果对应的Java方法抛出异常,则调用异常处理的回调函数。- Returns:
- {Chain}
-
{Chain} Chain()构造一个调用链
- Returns:
- {Chain}
-
{function} Class(constructor, declaration)定义类
var Person = W.Class(function(name) { this.name = name; }, { getName: function() { return this.name; } }); var person = new Person('Jimmy'); alert(person.getName());
- Parameters:
- {function} constructor
- 类构造函数
- {Object} declaration Optional
- 类成员声明,该对象属性将被复制到类构造函数的prototype对象中去
- Returns:
- {function} 封装后的类构造函数
-
{W} clean()清理元素
这将清理元素和其所有子元素,清除绑定在这些元素上的额外数据(如事件监听函数)- Returns:
- {W} this
-
{W} close()关闭窗口
- Parameters:
- args... Optional
- 返回给父窗口的参数
- Returns:
- {W} this
-
{Chain} confirm(msg, callback)显示一段确认信息让用户进行确认。确认完成后执行指定的回调函数
W.confirm('是否要删除记录?').done(function() { // 删除记录 });
- Parameters:
- {String} msg
- 确认信息
- {function} callback Optional
- 确认完成后执行的回调函数
- Returns:
- {Chain}
-
{Chain} create(resource, data)创建资源
调用此函数后将会发起一个Ajax POST请求,调用服务器端资源的POST接口对应的Java类的方法,并传回返回值。
可以通过W.done注册回调函数。如果对应的Java方法是正常返回(即用return返回),则调用成功处理的回调函数。如果对应的Java方法抛出异常,则调用异常处理的回调函数。创建一个用户,完成后显示提示信息 W.create('user', { name: 'abc', password: '123456' }).done({ success: function() { W.alert('Success'); }, error: function(ex) { W.alert('Failed: ' + ex.message); } });
- Parameters:
- {String} resource
- 资源名称
- {mixed} data
- 新建资源内容
- Returns:
- {Chain}
-
{mixed} css(name, value)设置或读取元素样式
- Parameters:
- {String} name
- 样式名
- {mixed} value Optional
- 样式值。需要读取时,省略此参数
- Returns:
- {mixed} 获取时,返回元素样式值;设置时,返回this
-
{mixed} data(value, parent, ignore_setter)设置或读取元素的绑定值
- Parameters:
- {mixed} value Optional
- 绑定值。需要读取时,省略此参数
- {mixed} parent Optional
- 内部使用参数
- {boolean} ignore_setter Optional
- 内部使用参数
- Returns:
- {mixed} 绑定值
-
{W} debug()显示调试级别的日志信息
- Parameters:
- args... Optional
- 日志信息
- Returns:
- {W}
-
{W} destroy()清理并删除元素
- Returns:
- {W} this
-
{Chain} done(handler)为之前的异步调用注册回调函数
W.get(resource).done(function(data) { ... });
- Parameters:
- {function(data)|Object} handler
- 异步调用成功处理的回调函数;或者包含以下属性的对象
- {function(data)} handler.success Optional
- 当handler为对象时,成功处理的回调函数。
- {function(ex)} handler.error Optional
- 当handler为对象时,异常处理的回调函数。ex 为由 Java 异常对象转换成的 Javascript 对象。
- {function()} handler._finally Optional
- 当handler为对象时,无论成功或异常,在相应的回调函数调用完成(或异常终止)后,始终执行的回调函数。
- Returns:
- {Chain}
-
{W} download(resource)下载文件
- Parameters:
- {String} resource
- 下载资源名称
- Returns:
- {W} this
-
{W} each(obj, callback)遍历数组或对象,将数组中的每一元素或对象中的每一键值对作为参数,调用指定的回调函数
var arr = [1, 2, 3]; var sum = 0; W.each(arr, function(value, index) { sum += value; // 等价于:sum += this; });
- Parameters:
- {Array|Object} obj
- 需遍历的数组或对象
- {function(item|index)} callback
- 回调函数。函数的this和第一个参数指向数组元素值或对象属性值,第二个参数指向数组下标或对象属性名。回调函数可返回false以中断遍历。
- Returns:
- {W}
-
{W} error()显示错误级别的日志信息
- Parameters:
- args... Optional
- 日志信息
- Returns:
- {W}
-
{mixed} expando(name, value)设置或读取元素扩展数据
- Parameters:
- {String} name
- 扩展数据键名
- {mixed} value Optional
- 扩展数据值。需要读取时,省略此参数
- Returns:
- {mixed} 获取时,返回元素扩展数据值;设置时,返回this
-
{Object} extend(target)将多个对象的属性合并到第一个对象中
当传入参数为多个对象时,所有对象的属性将被复制到目标对象,即第一个对象。
当传入参数为单个对象时,则认为目标对象为W的原型。可以使用此特性为W添加属性。由于操作的是W的原型,因此所有W的实例均可使用这些添加属性。
目标对象将会被修改以包含新增的属性,并作为函数的返回值。若不希望修改所有传入的对象,则可以传入一个空对象作为目标对象。
此函数不是递归的。同名的属性,无论是数组还是对象,都不会被合并,之后的对象的属性值会覆盖之前的对象的属性值。
值为undefined的属性将不会被复制。var object = W.extend({ a: 1 }, { b: 2 }, { a: 3, c: 3 }); // object值:{ a: 3, b: 2, c: 3 }
- Parameters:
- {Object} target
- 当之后有更多的对象传入时,接受新属性的目标对象。若只传入该对象,则目标对象为W的原型
- args... Optional
- 更多包含了需要合并的属性的对象
- Returns:
- {Object} 目标对象
-
{Array} filter(arr, func)从数组中提取出所有满足条件的元素,组成一个新数组。这通过迭代原数组,对每一元素调用筛选函数,提取函数返回为true的元素来实现。
W.filter([1,2,3,4,5,6], function() { return this > 3; }); // 返回值为[4,5,6]
- Parameters:
- {Array} arr
- 原数组
- {function} func
- 筛选函数。函数的this指向数组元素。函数返回值为true时,元素被加入到返回数组
- Returns:
- {Array}
-
{W} fire(event)指定事件名称和参数,触发事件
监听并触发自定义事件 W.on('aaa', function() { alert('事件 aaa 触发'); }); W.fire('aaa');
监听并触发带参数的自定义事件 W.on('bbb', function(e, x, y) { alert('事件 bbb 触发, x=' + x + ', y=' + y); }); W.fire('bbb', 1, 2);
- Parameters:
- {String|Object} event
- 事件名称或对象。若传入的是对象,属性定义如下:
- {String} event.type
- 事件名称
- {Array} event.args Optional
- 事件参数
- Returns:
- {W}
-
{W} focus()将元素设置为浏览器焦点
- Returns:
- {W} this
-
{Chain} get(resource)获取资源
调用此函数后将会发起一个Ajax GET请求,调用服务器端资源的GET接口对应的Java类的方法,并传回返回值。
可以通过W.done注册回调函数。如果对应的Java方法是正常返回(即用return返回),则调用成功处理的回调函数。如果对应的Java方法抛出异常,则调用异常处理的回调函数。获取所有名称中包含"123"的用户,并输出总数 W.get('users?searchName=123').done(function(users) { W.alert('Total: ' + users.length); });
- Parameters:
- {String} resource
- 资源名称。可以带查询字符串,用"?"分隔,如"users?name=123"
- Returns:
- {Chain}
-
{mixed} height(value)设置或读取元素高度
- Parameters:
- {number} value Optional
- 高度值。需要读取时,省略此参数
- Returns:
- {mixed} 获取时,返回元素高度值;设置时,返回this
-
{W} hide()隐藏元素
- Returns:
- {W} this
-
{W} html(html)设置元素的HTML内容。Bumblebee会在设置完成后对这些HTML内容进行渲染
- Parameters:
- html
- Returns:
- {W} this
-
{number} in_array(arr, value)判断数组中是否包含指定元素。若包含,返回元素的坐标;若不包含,返回-1。和JavaScript原生的indexOf()函数相比,这里包含的判断用的是"相等"(==),而不是"全等"(===)
- Parameters:
- {Array} arr
- 需扫描的数组
- {mixed} value
- 需扫描的元素
- Returns:
- {number}
-
{boolean} is_array(obj)判断参数是否为数组
- Parameters:
- {mixed} obj
- Returns:
- {boolean}
-
{boolean} is_function(obj)判断参数是否为函数
- Parameters:
- {mixed} obj
- Returns:
- {boolean}
-
{boolean} is_number(obj)判断参数是否为数字
- Parameters:
- {mixed} obj
- Returns:
- {boolean}
-
{boolean} is_regexp(obj)判断参数是否为正则表达式
- Parameters:
- {mixed} obj
- Returns:
- {boolean}
-
{Chain} join(handler)创建一个空的异步调用并立即注册回调函数
var abc, def; W.get('abc').done(function(data) { abc = data; // 设置 abc 的值 }).get('def').done(function(data) { def = data; // 设置 def 的值 }).join(function() { // 运行到这里时,abc 和 def 的值都已经设置完毕 W.alert(abc + def); });
- Parameters:
- {function} handler
- 回调函数
- Returns:
- {Chain}
-
{Array} map(arr, func)将数组中所有元素映射成一组新的元素。这通过迭代原数组,对每一元素调用映射函数,提取函数的返回值来实现。
W.map([1,2,3], function() { return this + 3; }); // 返回值为[4,5,6]
- Parameters:
- {Array} arr
- 原数组
- {function} func
- 映射函数。函数的this指向数组元素。函数返回值被加入到返回数组
- Returns:
- {Array} 返回数组
-
{String} node_name(elem)读取元素标签名称
- Parameters:
- {DOMElement} elem Optional
- 页面元素。省略此参数以读取当前元素的标签名称
- Returns:
- {String} 标签名称,总是全部小写的字符串
-
{W} notice(msg)显示一段通知信息
- Parameters:
- {String} msg
- 提示信息
- Returns:
- {W}
-
{number} now()获得现在距1970年1月1日之间的毫秒数
- Returns:
- {number}
-
{W} off(events, handler)解除事件监听函数和当前元素的绑定
- Parameters:
- {String|Regexp|Array} events Optional
- 事件名称。若为undefined,解除当前元素所有事件的绑定
- {function} handler Optional
- 绑定的事件监听函数。若为undefined,解除当前元素指定事件的所有监听函数的绑定
- Returns:
- {W}
-
{W} on(events, modifier, handler)绑定事件监听函数到当前元素上
用户点击链接后,修改链接的颜色 <a id="link" href="#">Click me!</a> <script> W.$('link').on('click', function(e) { this.css('color', 'red'); // this 指向的是 W.$('link') }); </script>
- Parameters:
- {String|Regexp|Array} events
- 事件名称。可以对多个事件同时进行监听,此时events值可以为数组,包含每个事件名称或匹配事件名称的正则表达式
- {String} modifier Optional
- 监听范围。可以是 'public','default' 和 'private'。默认为 'default'
- {function(e|args...)} handler
- 监听函数。this被绑定到事件监听的W对象上
- Returns:
- {W}
-
{W} once(events, modifier, handler)绑定事件监听函数到当前元素上,和W.on的区别是,但监听函数只会执行最多一次
- Parameters:
- {String|Regexp|Array} events
- 事件名称。可以对多个事件同时进行监听,此时events值可以为数组,包含每个事件名称或匹配事件名称的正则表达式
- {String} modifier Optional
- 监听范围。可以是 'public','default' 和 'private'。默认为 'default'
- {function(e|args...)} handler
- 回调函数。this被绑定到事件监听的W对象上
- Returns:
- {W}
-
{Chain} open(path)打开窗口
可以通过W.done注册回调函数。如果打开的窗口被关闭,则调用成功处理的回调函数,并可以接受对方通过W.close返回的参数。打开用户编辑窗口,编辑id=1的用户 W.open('user/edit', 1);
- Parameters:
- {String} path
- 窗口路径
- args... Optional
- 传递给窗口的参数
- Returns:
- {Chain}
-
{W} options(data, text, value, initial_options_length)为当前的select元素构建option
W.options( [{ name: 'aaa', value: 1 }, { name: 'bbb', value: 2 }], 'name', // 或者 function() { return this.name; } 'value' // 或者 function() { return this.value; } );
W.options({ '1': 'aaa', '2': 'bbb' });
- Parameters:
- {Array|Object} data
- 数据源。当数据源是数组时,option基于每个数组元素构建;当数据源是对象时,option基于每个键值对构建
- {String|function(row)} text
- 数组元素的属性名,其属性值对应为option的文本;或者是数组元素到option文本的映射函数
- {String|function(row)} value
- 数组元素的属性名,其属性值对应为option的值;或者是数组元素到option值的映射函数
- {number} initial_options_length Optional, Default: 0
- 保留的option数量
- Returns:
- {W} this
-
{String} param(obj, prefix)将对象转换成标准的URL编码形式
W.param({ a: 1, b: 2 }); // "a=1&b=2" W.param({ a: [1, 2] }); // "a=1&a=2" W.param({ a: 1, b: 2 }, 'c'); // "c.a=1&c.b=2"
- Parameters:
- {Object} obj
- 需转换的对象
- {String} prefix Optional
- 查询字符串中参数名的前缀
- Returns:
- {String}
-
{W} polling(resource)轮询资源
逻辑上等价于不停调用W.get来获取资源。通过监听资源的:get事件来处理轮询结果。检查新邮件 W.polling('new-mail'); W.on('new-mail:get', 'public', function(e, mail) { W.alert('新邮件:' + mail.title); });
- Parameters:
- {String} resource
- 资源名称。可以带查询字符串,用"?"分隔,如"users?name=123"
- Returns:
- {W} this
-
{Chain} popup(path)以弹出窗口形式,打开窗口
可以通过W.done注册回调函数。如果打开的窗口被关闭,则调用成功处理的回调函数,并可以接受对方通过W.close返回的参数。以弹出窗口形式,打开用户编辑窗口,编辑id=1的用户 W.popup('user/edit', 1);
- Parameters:
- {String} path
- 窗口路径
- args... Optional
- 传递给窗口的参数
- Returns:
- {Chain}
-
{Chain} push()设置下一个回调函数的参数,用于在W协议中声明变量
在W协议中声明变量msg push("hello") -> msg|alert(msg)
- Parameters:
- args... Optional
- 参数列表
- Returns:
- {Chain}
-
{W} refresh()刷新窗口
- Returns:
- {W} this
-
{Chain} remove(resource, data)删除资源
调用此函数后将会发起一个Ajax PUT请求,调用服务器端资源的DELETE接口对应的Java类的方法,并传回返回值。
批量删除从语义上等于根据资源id的列表,创建一个匿名资源(资源集合),然后再其删除。因此是一个POST操作和一个DELETE操作的组合。由于DELETE具有等幂性,而POST不具有,另外DELETE不支持请求携带正文,所以在实际实现中,用具有等幂性并可携带正文的PUT来替代这个POST + DELETE的组合操作。
可以通过W.done注册回调函数。如果对应的Java方法是正常返回(即用return返回),则调用成功处理的回调函数。如果对应的Java方法抛出异常,则调用异常处理的回调函数。删除id=1的用户 var id = 1; W.remove('user/' + id).done(function() { W.alert('Success'); });
批量删除id为1,2,3的用户 var ids = [1, 2, 3]; W.remove('users', ids).done(function() { W.alert('Success'); });
- Parameters:
- {String} resource
- 资源名称
- data
- Returns:
- {Chain}
-
{Chain} show(path)在容器元素中展示新窗口
- Parameters:
- {String} path
- 窗口路径
- args... Optional
- 窗口参数
- Returns:
- {Chain}
-
<static> W.template_handler(html, args)
- Parameters:
- html
- args
-
{W} title(title)设置窗口的标题
- Parameters:
- {String} title
- 窗口标题
- Returns:
- {W} this
-
{W} toggle(show_or_hide)切换或设置元素的显示状态
- Parameters:
- {boolean} show_or_hide Optional
- 期望的显示状态,显示为true,隐藏为false。需要切换时,省略此参数
- Returns:
- {W} this
-
{String} unique_id()获取一个全局唯一的ID
- Returns:
- {String}
-
{Chain} update(resource, data)更新资源
调用此函数后将会发起一个Ajax PUT请求,调用服务器端资源的PUT接口对应的 Java 类的方法,并传回返回值。
可以通过W.done注册回调函数。如果对应的Java方法是正常返回(即用return返回),则调用成功处理的回调函数。如果对应的Java方法抛出异常,则调用异常处理的回调函数。更新id=1的用户 var id = 1; W.update('user/' + id, { name: 'abc', password: '123456' }).done(function() { W.alert('Success'); });
- Parameters:
- {String} resource
- 资源名称
- data
- Returns:
- {Chain}
-
{Chain} upload(resource, file, onprogress)文件上传
可以通过W.done注册回调函数。如果对应的Java方法是正常返回(即用return返回),则调用成功处理的回调函数。如果对应的Java方法抛出异常,则调用异常处理的回调函数。- Parameters:
- {String} resource
- 上传资源名称
- {File} file
- 上传文件
- {function} onprogress
- 上传进度监听函数
- Returns:
- {Chain}
-
{W} warn()显示警告级别的日志信息
- Parameters:
- args... Optional
- 日志信息
- Returns:
- {W}
-
{mixed} width(value)设置或读取元素宽度
- Parameters:
- {number} value Optional
- 宽度值。需要读取时,省略此参数
- Returns:
- {mixed} 获取时,返回元素宽度值;设置时,返回this