Comments (1)
Updates:
/**
* format comparison
* _h(self, children) -> render
* _e(tag, data, namespace) -> self
* _t(text) -> text content
* _m(index) -> static tree
*/
ref: vuejs/vue@6fe2688#commitcomment-17533656
New JS Bundle format design (compared with current Vue 2.0 format):
/**
* format comparison
*
* old:
* __h__(tag, data, children, namespace)
* new:
* __r__(self, children) -> render
* __s__(tag, data, namespace) -> self
* __t__(text) -> text content
* __m__(index) -> static tree
*
* the new format MUST be with `stream: true` option from root Vm
*/
Vue.component('foo', {
props: ['a', 'b'],
data: function () {
return {list: [1,2]}
},
render: function () {
with (this) {
// old format
return __h__('div', undefined, [
(list) && __renderList__((list), function (k, v,$index) {
return __h__('div', {
class:[a, 'a'],
style:{m: '1', n: a},
attrs:{"n":a},
staticAttrs:{"m":"a","style":"l: 2"}
}, [
("\n aaa"+__toString__(a)+"bbb"+__toString__(k)+"-"+__toString__(v)+"\n "),
_staticTrees[0]
], '')
})
], '')
// // new format
// return __r__(
// __s__('div', {
// staticAttrs: {a: 'b'}
// }),
// [
// __r__(
// __s__('text', {
// staticAttrs: {value: 'child text content'}
// })
// ),
// (list) && __renderList__((list), function(k, v, $index) {
// return __r__(
// __s__('div', {
// class:[a, 'a'],
// style:{m: '1', n: a},
// attrs:{"n":a},
// staticAttrs:{"m":"a","style":"l: 2"}
// }),
// [
// __t__("\n aaa"+__toString__(a)+"bbb"+__toString__(k)+"-"+__toString__(v)+"\n "),
// __m__(0)
// ]
// )
// })]
// )
}
},
staticRenderFns: [
function () {
with(this){
// old format
return __h__('text', {
staticAttrs: {value: 'Hello World'}
}, [], '')
// // new format
// return __r__(
// __s__('text', {
// staticAttrs: {value: 'Hello World'}
// }),
// []
// )
}
with (this) {
}
}
]
})
return new Vue({
el: 'scroller',
data: {x: 1, y: 2, z: 'foo'},
methods: {foo: function (e) {
console.log('event', e)
this.y++
}},
style: {y: {fontSize: 64}},
// // new format
// stream: true,
render: function () {
with (this) {
// old format
return __h__(
'div', {},
[
__h__('foo', {attrs:{"a":x,"b":y}}, undefined, ''),
__h__('text', {
on:{"click":foo},
staticClass:"a b",
class:[y, 'y'],
attrs:{value:(__toString__(y)+"asdfasdfaf")}
}, [], '')
], ''
)
// // new format
// return __r__(
// __s__('div', {}),
// [
// __r__(
// __s__('foo', {
// attrs:{"a":x,"b":y}
// }),
// []
// ),
// __r__(
// __s__('text', {
// on:{"click":foo},
// staticClass:"a b",
// class:[y, 'y'],
// attrs:{value:(__toString__(y)+"asdfasdfaf")},
// // append: true
// }),
// []
// )
// ]
// )
}
}
})
// // testing registerModules()
// console.log(__weex_require_module__('dom'))
// // testing registerComponents()
// registerComponents(['a', {name: 'b'}, null])
// console.log(Vue.config.isReservedTag('a'))
// console.log(Vue.config.isReservedTag('b'))
// console.log(Vue.config.isReservedTag('c'))
from weex.
Related Issues (20)
- 能否适配开源的openharmony?有没计划? HOT 4
- Weex input
- weex <text>标签设置属性显示省略号,英文单词语句内容长度溢出时显示的省略号不对
- input怎么设置输入框光标颜色
- web playground 已无法正常使用 HOT 3
- 我想问一下,Weex什么时候会升级到1.0.0版本?I really want to know that, when will Weex release version 1.0.0? HOT 4
- [Android]集成了0.30.2 targetsdk=30 初始化weex时报错 E/weex: reportJSException >>>> instanceId:, exception function:initFramework, exception:failed to create ashmem region: Permission denied HOT 1
- 真的很希望官方能回应一下weex2.0更新问题!!! HOT 16
- Android weex_sdk-0.30.2 libweexjsb.so 存在频繁自启或关联启动
- vue框架下的js开发能使用imort()函数进行懒加载吗?我webpack打包能成功,但是运行报错了,有大神指导一下吗?
- Weex 不再维护了嘛? HOT 7
- [Android] AGP升级 导致无法正常加载weex页面 HOT 1
- dotwe 打不开
- [Android][iOS] Slider内嵌的子组件 添加了 touchmove事件,左右滑动子组件时,子组件的滑动事件并不会被消费,而是触发了Slider自身的滑动,这个怎么处理? HOT 1
- 未来有想过支持svelte.js或者JQ这些吗 HOT 1
- 官网文档的搜索功能不可用 HOT 1
- [iOS] iOS显示报错 HOT 1
- 这个框架是凉了吗,也不说啥时候开源了 HOT 1
- [iOS]iOS17闪退,WXComponent+Display.m objc_loadWeakRetained HOT 1
- [Android][iOS][Dev-tool] Unexpected behavior when xx where weex version is 0.aa.bb.cc
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from weex.