http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43564f3b/ios/playground/bundlejs/vue/components/text.js
----------------------------------------------------------------------
diff --git a/ios/playground/bundlejs/vue/components/text.js 
b/ios/playground/bundlejs/vue/components/text.js
deleted file mode 100644
index ec7f6c2..0000000
--- a/ios/playground/bundlejs/vue/components/text.js
+++ /dev/null
@@ -1,527 +0,0 @@
-// { "framework": "Vue" }
-
-/******/ (function(modules) { // webpackBootstrap
-/******/       // The module cache
-/******/       var installedModules = {};
-
-/******/       // The require function
-/******/       function __webpack_require__(moduleId) {
-
-/******/               // Check if module is in cache
-/******/               if(installedModules[moduleId])
-/******/                       return installedModules[moduleId].exports;
-
-/******/               // Create a new module (and put it into the cache)
-/******/               var module = installedModules[moduleId] = {
-/******/                       exports: {},
-/******/                       id: moduleId,
-/******/                       loaded: false
-/******/               };
-
-/******/               // Execute the module function
-/******/               modules[moduleId].call(module.exports, module, 
module.exports, __webpack_require__);
-
-/******/               // Flag the module as loaded
-/******/               module.loaded = true;
-
-/******/               // Return the exports of the module
-/******/               return module.exports;
-/******/       }
-
-
-/******/       // expose the modules object (__webpack_modules__)
-/******/       __webpack_require__.m = modules;
-
-/******/       // expose the module cache
-/******/       __webpack_require__.c = installedModules;
-
-/******/       // __webpack_public_path__
-/******/       __webpack_require__.p = "";
-
-/******/       // Load entry module and return exports
-/******/       return __webpack_require__(0);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 0:
-/***/ (function(module, exports, __webpack_require__) {
-
-       var __vue_exports__, __vue_options__
-       var __vue_styles__ = []
-
-       /* styles */
-       __vue_styles__.push(__webpack_require__(78)
-       )
-
-       /* script */
-       __vue_exports__ = __webpack_require__(79)
-
-       /* template */
-       var __vue_template__ = __webpack_require__(80)
-       __vue_options__ = __vue_exports__ = __vue_exports__ || {}
-       if (
-         typeof __vue_exports__.default === "object" ||
-         typeof __vue_exports__.default === "function"
-       ) {
-       if (Object.keys(__vue_exports__).some(function (key) { return key !== 
"default" && key !== "__esModule" })) {console.error("named exports are not 
supported in *.vue files.")}
-       __vue_options__ = __vue_exports__ = __vue_exports__.default
-       }
-       if (typeof __vue_options__ === "function") {
-         __vue_options__ = __vue_options__.options
-       }
-       __vue_options__.__file = 
"/Users/Hanks/Codes/work/incubator-weex/examples/vue/components/text.vue"
-       __vue_options__.render = __vue_template__.render
-       __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-       __vue_options__._scopeId = "data-v-c5678ba4"
-       __vue_options__.style = __vue_options__.style || {}
-       __vue_styles__.forEach(function (module) {
-         for (var name in module) {
-           __vue_options__.style[name] = module[name]
-         }
-       })
-       if (typeof __register_static_styles__ === "function") {
-         __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-       }
-
-       module.exports = __vue_exports__
-       module.exports.el = 'true'
-       new Vue(module.exports)
-
-
-/***/ }),
-
-/***/ 3:
-/***/ (function(module, exports, __webpack_require__) {
-
-       var __vue_exports__, __vue_options__
-       var __vue_styles__ = []
-
-       /* styles */
-       __vue_styles__.push(__webpack_require__(4)
-       )
-
-       /* script */
-       __vue_exports__ = __webpack_require__(5)
-
-       /* template */
-       var __vue_template__ = __webpack_require__(6)
-       __vue_options__ = __vue_exports__ = __vue_exports__ || {}
-       if (
-         typeof __vue_exports__.default === "object" ||
-         typeof __vue_exports__.default === "function"
-       ) {
-       if (Object.keys(__vue_exports__).some(function (key) { return key !== 
"default" && key !== "__esModule" })) {console.error("named exports are not 
supported in *.vue files.")}
-       __vue_options__ = __vue_exports__ = __vue_exports__.default
-       }
-       if (typeof __vue_options__ === "function") {
-         __vue_options__ = __vue_options__.options
-       }
-       __vue_options__.__file = 
"/Users/Hanks/Codes/work/incubator-weex/examples/vue/include/panel.vue"
-       __vue_options__.render = __vue_template__.render
-       __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-       __vue_options__._scopeId = "data-v-58511ff6"
-       __vue_options__.style = __vue_options__.style || {}
-       __vue_styles__.forEach(function (module) {
-         for (var name in module) {
-           __vue_options__.style[name] = module[name]
-         }
-       })
-       if (typeof __register_static_styles__ === "function") {
-         __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-       }
-
-       module.exports = __vue_exports__
-
-
-/***/ }),
-
-/***/ 4:
-/***/ (function(module, exports) {
-
-       module.exports = {
-         "panel": {
-           "marginBottom": 20,
-           "backgroundColor": "#ffffff",
-           "borderColor": "#dddddd",
-           "borderWidth": 1
-         },
-         "panel-primary": {
-           "borderColor": "rgb(40,96,144)"
-         },
-         "panel-success": {
-           "borderColor": "rgb(76,174,76)"
-         },
-         "panel-info": {
-           "borderColor": "rgb(70,184,218)"
-         },
-         "panel-warning": {
-           "borderColor": "rgb(238,162,54)"
-         },
-         "panel-danger": {
-           "borderColor": "rgb(212,63,58)"
-         },
-         "panel-header": {
-           "backgroundColor": "#f5f5f5",
-           "fontSize": 40,
-           "color": "#333333"
-         },
-         "panel-header-primary": {
-           "backgroundColor": "rgb(40,96,144)",
-           "color": "#ffffff"
-         },
-         "panel-header-success": {
-           "backgroundColor": "rgb(92,184,92)",
-           "color": "#ffffff"
-         },
-         "panel-header-info": {
-           "backgroundColor": "rgb(91,192,222)",
-           "color": "#ffffff"
-         },
-         "panel-header-warning": {
-           "backgroundColor": "rgb(240,173,78)",
-           "color": "#ffffff"
-         },
-         "panel-header-danger": {
-           "backgroundColor": "rgb(217,83,79)",
-           "color": "#ffffff"
-         },
-         "panel-body": {
-           "paddingLeft": 12,
-           "paddingRight": 12,
-           "paddingTop": 20,
-           "paddingBottom": 20
-         }
-       }
-
-/***/ }),
-
-/***/ 5:
-/***/ (function(module, exports) {
-
-       'use strict';
-
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-
-       module.exports = {
-         props: {
-           type: { default: 'default' },
-           title: { default: '' },
-           paddingBody: { default: 20 },
-           paddingHead: { default: 20 },
-           dataClass: { default: '' }, // FIXME transfer class
-           border: { default: 0 }
-         }
-       };
-
-/***/ }),
-
-/***/ 6:
-/***/ (function(module, exports) {
-
-       module.exports={render:function (){var _vm=this;var 
_h=_vm.$createElement;var _c=_vm._self._c||_h;
-         return _c('div', {
-           class: ['panel', 'panel-' + _vm.type],
-           style: {
-             borderWidth: _vm.border
-           }
-         }, [_c('text', {
-           class: ['panel-header', 'panel-header-' + _vm.type],
-           style: {
-             paddingTop: _vm.paddingHead,
-             paddingBottom: _vm.paddingHead,
-             paddingLeft: _vm.paddingHead * 1.5,
-             paddingRight: _vm.paddingHead * 1.5
-           }
-         }, [_vm._v(_vm._s(_vm.title))]), _c('div', {
-           class: ['panel-body', 'panel-body-' + _vm.type],
-           style: {
-             paddingTop: _vm.paddingBody,
-             paddingBottom: _vm.paddingBody,
-             paddingLeft: _vm.paddingBody * 1.5,
-             paddingRight: _vm.paddingBody * 1.5
-           }
-         }, [_vm._t("default")], 2)])
-       },staticRenderFns: []}
-       module.exports.render._withStripped = true
-
-/***/ }),
-
-/***/ 78:
-/***/ (function(module, exports) {
-
-       module.exports = {
-         "txt": {
-           "marginBottom": 12,
-           "fontSize": 40
-         }
-       }
-
-/***/ }),
-
-/***/ 79:
-/***/ (function(module, exports, __webpack_require__) {
-
-       'use strict';
-
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-
-       module.exports = {
-         components: {
-           panel: __webpack_require__(3)
-         }
-       };
-
-/***/ }),
-
-/***/ 80:
-/***/ (function(module, exports) {
-
-       module.exports={render:function (){var _vm=this;var 
_h=_vm.$createElement;var _c=_vm._self._c||_h;
-         return _c('scroller', [_c('panel', {
-           attrs: {
-             "title": "color",
-             "type": "primary"
-           }
-         }, [_c('text', {
-           staticClass: ["txt"]
-         }, [_vm._v("default is black")]), _c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             color: "#286090"
-           }
-         }, [_vm._v("#286090")]), _c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             color: "#0f0"
-           }
-         }, [_vm._v("#0f0")]), _c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             color: "red"
-           }
-         }, [_vm._v("keyword")]), _c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             color: "rgb(238, 162, 54)"
-           }
-         }, [_vm._v("rgb(238, 162, 54)")]), _c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             color: "rgba(238, 162, 54, 0.5)"
-           }
-         }, [_vm._v("rgba(238, 162, 54, 0.5)")])]), _c('panel', {
-           attrs: {
-             "title": "font-size",
-             "type": "primary"
-           }
-         }, [_c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             fontSize: "32px"
-           }
-         }, [_vm._v("32")]), _c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             fontSize: "64px"
-           }
-         }, [_vm._v("64")]), _c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             fontSize: "100px"
-           }
-         }, [_vm._v("100")])]), _c('panel', {
-           attrs: {
-             "title": "font-style",
-             "type": "primary"
-           }
-         }, [_c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             fontStyle: "normal"
-           }
-         }, [_vm._v("normal")]), _c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             fontStyle: "italic"
-           }
-         }, [_vm._v("italic")])]), _c('panel', {
-           attrs: {
-             "title": "font-weight",
-             "type": "primary"
-           }
-         }, [_c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             fontWeight: "normal"
-           }
-         }, [_vm._v("normal")]), _c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             fontWeight: "bold"
-           }
-         }, [_vm._v("bold")])]), _c('panel', {
-           attrs: {
-             "title": "text-decoration",
-             "type": "primary"
-           }
-         }, [_c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             textDecoration: "none"
-           }
-         }, [_vm._v("none")]), _c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             textDecoration: "underline"
-           }
-         }, [_vm._v("underline")]), _c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             textDecoration: "line-through"
-           }
-         }, [_vm._v("line-through")])]), _c('panel', {
-           attrs: {
-             "title": "text-align",
-             "type": "primary"
-           }
-         }, [_c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             textAlign: "left"
-           }
-         }, [_vm._v("left")]), _c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             textAlign: "center"
-           }
-         }, [_vm._v("center")]), _c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             textAlign: "right"
-           }
-         }, [_vm._v("right")])]), _c('panel', {
-           attrs: {
-             "title": "text-overflow",
-             "type": "primary"
-           }
-         }, [_c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             lines: "1"
-           }
-         }, [_vm._v("no text-overflow, no text-overflow")]), _c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             textOverflow: "clip",
-             width: "450px",
-             lines: "1"
-           }
-         }, [_vm._v("text-overflow: clip, text-overflow: clip")]), _c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             textOverflow: "ellipsis",
-             width: "450px",
-             lines: "1"
-           }
-         }, [_vm._v("text-overflow: ellipsis, text-overflow: ellipsis")])]), 
_c('panel', {
-           attrs: {
-             "title": "line-height",
-             "type": "primary"
-           }
-         }, [_c('text', {
-           staticClass: ["txt"]
-         }, [_vm._v("no lineheight setting")]), _c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             lineHeight: "50px"
-           }
-         }, [_vm._v("lineheight 50")]), _c('text', {
-           staticClass: ["txt"],
-           staticStyle: {
-             lineHeight: "80px"
-           }
-         }, [_vm._v(" lineheight 80")])])], 1)
-       },staticRenderFns: []}
-       module.exports.render._withStripped = true
-
-/***/ })
-
-/******/ });
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43564f3b/ios/playground/bundlejs/vue/components/textarea.js
----------------------------------------------------------------------
diff --git a/ios/playground/bundlejs/vue/components/textarea.js 
b/ios/playground/bundlejs/vue/components/textarea.js
deleted file mode 100644
index 04e13d9..0000000
--- a/ios/playground/bundlejs/vue/components/textarea.js
+++ /dev/null
@@ -1,380 +0,0 @@
-// { "framework": "Vue" }
-
-/******/ (function(modules) { // webpackBootstrap
-/******/       // The module cache
-/******/       var installedModules = {};
-
-/******/       // The require function
-/******/       function __webpack_require__(moduleId) {
-
-/******/               // Check if module is in cache
-/******/               if(installedModules[moduleId])
-/******/                       return installedModules[moduleId].exports;
-
-/******/               // Create a new module (and put it into the cache)
-/******/               var module = installedModules[moduleId] = {
-/******/                       exports: {},
-/******/                       id: moduleId,
-/******/                       loaded: false
-/******/               };
-
-/******/               // Execute the module function
-/******/               modules[moduleId].call(module.exports, module, 
module.exports, __webpack_require__);
-
-/******/               // Flag the module as loaded
-/******/               module.loaded = true;
-
-/******/               // Return the exports of the module
-/******/               return module.exports;
-/******/       }
-
-
-/******/       // expose the modules object (__webpack_modules__)
-/******/       __webpack_require__.m = modules;
-
-/******/       // expose the module cache
-/******/       __webpack_require__.c = installedModules;
-
-/******/       // __webpack_public_path__
-/******/       __webpack_require__.p = "";
-
-/******/       // Load entry module and return exports
-/******/       return __webpack_require__(0);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 0:
-/***/ (function(module, exports, __webpack_require__) {
-
-       var __vue_exports__, __vue_options__
-       var __vue_styles__ = []
-
-       /* styles */
-       __vue_styles__.push(__webpack_require__(81)
-       )
-
-       /* script */
-       __vue_exports__ = __webpack_require__(82)
-
-       /* template */
-       var __vue_template__ = __webpack_require__(83)
-       __vue_options__ = __vue_exports__ = __vue_exports__ || {}
-       if (
-         typeof __vue_exports__.default === "object" ||
-         typeof __vue_exports__.default === "function"
-       ) {
-       if (Object.keys(__vue_exports__).some(function (key) { return key !== 
"default" && key !== "__esModule" })) {console.error("named exports are not 
supported in *.vue files.")}
-       __vue_options__ = __vue_exports__ = __vue_exports__.default
-       }
-       if (typeof __vue_options__ === "function") {
-         __vue_options__ = __vue_options__.options
-       }
-       __vue_options__.__file = 
"/Users/Hanks/Codes/work/incubator-weex/examples/vue/components/textarea.vue"
-       __vue_options__.render = __vue_template__.render
-       __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-       __vue_options__._scopeId = "data-v-0dfb413b"
-       __vue_options__.style = __vue_options__.style || {}
-       __vue_styles__.forEach(function (module) {
-         for (var name in module) {
-           __vue_options__.style[name] = module[name]
-         }
-       })
-       if (typeof __register_static_styles__ === "function") {
-         __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-       }
-
-       module.exports = __vue_exports__
-       module.exports.el = 'true'
-       new Vue(module.exports)
-
-
-/***/ }),
-
-/***/ 3:
-/***/ (function(module, exports, __webpack_require__) {
-
-       var __vue_exports__, __vue_options__
-       var __vue_styles__ = []
-
-       /* styles */
-       __vue_styles__.push(__webpack_require__(4)
-       )
-
-       /* script */
-       __vue_exports__ = __webpack_require__(5)
-
-       /* template */
-       var __vue_template__ = __webpack_require__(6)
-       __vue_options__ = __vue_exports__ = __vue_exports__ || {}
-       if (
-         typeof __vue_exports__.default === "object" ||
-         typeof __vue_exports__.default === "function"
-       ) {
-       if (Object.keys(__vue_exports__).some(function (key) { return key !== 
"default" && key !== "__esModule" })) {console.error("named exports are not 
supported in *.vue files.")}
-       __vue_options__ = __vue_exports__ = __vue_exports__.default
-       }
-       if (typeof __vue_options__ === "function") {
-         __vue_options__ = __vue_options__.options
-       }
-       __vue_options__.__file = 
"/Users/Hanks/Codes/work/incubator-weex/examples/vue/include/panel.vue"
-       __vue_options__.render = __vue_template__.render
-       __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-       __vue_options__._scopeId = "data-v-58511ff6"
-       __vue_options__.style = __vue_options__.style || {}
-       __vue_styles__.forEach(function (module) {
-         for (var name in module) {
-           __vue_options__.style[name] = module[name]
-         }
-       })
-       if (typeof __register_static_styles__ === "function") {
-         __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-       }
-
-       module.exports = __vue_exports__
-
-
-/***/ }),
-
-/***/ 4:
-/***/ (function(module, exports) {
-
-       module.exports = {
-         "panel": {
-           "marginBottom": 20,
-           "backgroundColor": "#ffffff",
-           "borderColor": "#dddddd",
-           "borderWidth": 1
-         },
-         "panel-primary": {
-           "borderColor": "rgb(40,96,144)"
-         },
-         "panel-success": {
-           "borderColor": "rgb(76,174,76)"
-         },
-         "panel-info": {
-           "borderColor": "rgb(70,184,218)"
-         },
-         "panel-warning": {
-           "borderColor": "rgb(238,162,54)"
-         },
-         "panel-danger": {
-           "borderColor": "rgb(212,63,58)"
-         },
-         "panel-header": {
-           "backgroundColor": "#f5f5f5",
-           "fontSize": 40,
-           "color": "#333333"
-         },
-         "panel-header-primary": {
-           "backgroundColor": "rgb(40,96,144)",
-           "color": "#ffffff"
-         },
-         "panel-header-success": {
-           "backgroundColor": "rgb(92,184,92)",
-           "color": "#ffffff"
-         },
-         "panel-header-info": {
-           "backgroundColor": "rgb(91,192,222)",
-           "color": "#ffffff"
-         },
-         "panel-header-warning": {
-           "backgroundColor": "rgb(240,173,78)",
-           "color": "#ffffff"
-         },
-         "panel-header-danger": {
-           "backgroundColor": "rgb(217,83,79)",
-           "color": "#ffffff"
-         },
-         "panel-body": {
-           "paddingLeft": 12,
-           "paddingRight": 12,
-           "paddingTop": 20,
-           "paddingBottom": 20
-         }
-       }
-
-/***/ }),
-
-/***/ 5:
-/***/ (function(module, exports) {
-
-       'use strict';
-
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-
-       module.exports = {
-         props: {
-           type: { default: 'default' },
-           title: { default: '' },
-           paddingBody: { default: 20 },
-           paddingHead: { default: 20 },
-           dataClass: { default: '' }, // FIXME transfer class
-           border: { default: 0 }
-         }
-       };
-
-/***/ }),
-
-/***/ 6:
-/***/ (function(module, exports) {
-
-       module.exports={render:function (){var _vm=this;var 
_h=_vm.$createElement;var _c=_vm._self._c||_h;
-         return _c('div', {
-           class: ['panel', 'panel-' + _vm.type],
-           style: {
-             borderWidth: _vm.border
-           }
-         }, [_c('text', {
-           class: ['panel-header', 'panel-header-' + _vm.type],
-           style: {
-             paddingTop: _vm.paddingHead,
-             paddingBottom: _vm.paddingHead,
-             paddingLeft: _vm.paddingHead * 1.5,
-             paddingRight: _vm.paddingHead * 1.5
-           }
-         }, [_vm._v(_vm._s(_vm.title))]), _c('div', {
-           class: ['panel-body', 'panel-body-' + _vm.type],
-           style: {
-             paddingTop: _vm.paddingBody,
-             paddingBottom: _vm.paddingBody,
-             paddingLeft: _vm.paddingBody * 1.5,
-             paddingRight: _vm.paddingBody * 1.5
-           }
-         }, [_vm._t("default")], 2)])
-       },staticRenderFns: []}
-       module.exports.render._withStripped = true
-
-/***/ }),
-
-/***/ 81:
-/***/ (function(module, exports) {
-
-       module.exports = {
-         "textarea": {
-           "fontSize": 30,
-           "height": 280,
-           "width": 400,
-           "borderWidth": 2,
-           "borderColor": "#cccccc"
-         }
-       }
-
-/***/ }),
-
-/***/ 82:
-/***/ (function(module, exports, __webpack_require__) {
-
-       'use strict';
-
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-
-       var modal = weex.requireModule('modal');
-       module.exports = {
-         data: function data() {
-           return {
-             txtInput: '',
-             txtChange: '',
-             returnType: '',
-             msg: ''
-           };
-         },
-         components: {
-           panel: __webpack_require__(3)
-         },
-         methods: {
-           onchange: function onchange(event) {
-             this.txtChange = event.value;
-           },
-           oninput: function oninput(event) {
-             this.txtInput = event.value;
-           },
-           onreturn: function onreturn(event) {
-             this.returnType = event.returnKeyType;
-             this.msg = 'You are "' + this.returnType + '" ' + event.value;
-           }
-         }
-       };
-
-/***/ }),
-
-/***/ 83:
-/***/ (function(module, exports) {
-
-       module.exports={render:function (){var _vm=this;var 
_h=_vm.$createElement;var _c=_vm._self._c||_h;
-         return _c('scroller', [_c('panel', {
-           attrs: {
-             "title": "textarea",
-             "type": "primary"
-           }
-         }, [_c('textarea', {
-           staticClass: ["textarea"],
-           attrs: {
-             "autofocus": "true",
-             "returnKeyType": "done"
-           },
-           on: {
-             "return": _vm.onreturn,
-             "change": _vm.onchange,
-             "input": _vm.oninput
-           }
-         }), _c('text', [_vm._v("oninput: " + _vm._s(_vm.txtInput))]), 
_c('text', [_vm._v("onchange: " + _vm._s(_vm.txtChange))]), _c('text', 
[_vm._v("enter key type: " + _vm._s(_vm.returnType))]), _c('text', 
[_vm._v("action: " + _vm._s(_vm.msg))])])], 1)
-       },staticRenderFns: []}
-       module.exports.render._withStripped = true
-
-/***/ })
-
-/******/ });
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43564f3b/ios/playground/bundlejs/vue/components/video.js
----------------------------------------------------------------------
diff --git a/ios/playground/bundlejs/vue/components/video.js 
b/ios/playground/bundlejs/vue/components/video.js
deleted file mode 100644
index fc68718..0000000
--- a/ios/playground/bundlejs/vue/components/video.js
+++ /dev/null
@@ -1,404 +0,0 @@
-// { "framework": "Vue" }
-
-/******/ (function(modules) { // webpackBootstrap
-/******/       // The module cache
-/******/       var installedModules = {};
-
-/******/       // The require function
-/******/       function __webpack_require__(moduleId) {
-
-/******/               // Check if module is in cache
-/******/               if(installedModules[moduleId])
-/******/                       return installedModules[moduleId].exports;
-
-/******/               // Create a new module (and put it into the cache)
-/******/               var module = installedModules[moduleId] = {
-/******/                       exports: {},
-/******/                       id: moduleId,
-/******/                       loaded: false
-/******/               };
-
-/******/               // Execute the module function
-/******/               modules[moduleId].call(module.exports, module, 
module.exports, __webpack_require__);
-
-/******/               // Flag the module as loaded
-/******/               module.loaded = true;
-
-/******/               // Return the exports of the module
-/******/               return module.exports;
-/******/       }
-
-
-/******/       // expose the modules object (__webpack_modules__)
-/******/       __webpack_require__.m = modules;
-
-/******/       // expose the module cache
-/******/       __webpack_require__.c = installedModules;
-
-/******/       // __webpack_public_path__
-/******/       __webpack_require__.p = "";
-
-/******/       // Load entry module and return exports
-/******/       return __webpack_require__(0);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 0:
-/***/ (function(module, exports, __webpack_require__) {
-
-       var __vue_exports__, __vue_options__
-       var __vue_styles__ = []
-
-       /* styles */
-       __vue_styles__.push(__webpack_require__(84)
-       )
-
-       /* script */
-       __vue_exports__ = __webpack_require__(85)
-
-       /* template */
-       var __vue_template__ = __webpack_require__(86)
-       __vue_options__ = __vue_exports__ = __vue_exports__ || {}
-       if (
-         typeof __vue_exports__.default === "object" ||
-         typeof __vue_exports__.default === "function"
-       ) {
-       if (Object.keys(__vue_exports__).some(function (key) { return key !== 
"default" && key !== "__esModule" })) {console.error("named exports are not 
supported in *.vue files.")}
-       __vue_options__ = __vue_exports__ = __vue_exports__.default
-       }
-       if (typeof __vue_options__ === "function") {
-         __vue_options__ = __vue_options__.options
-       }
-       __vue_options__.__file = 
"/Users/Hanks/Codes/work/incubator-weex/examples/vue/components/video.vue"
-       __vue_options__.render = __vue_template__.render
-       __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-       __vue_options__._scopeId = "data-v-c7b2e46c"
-       __vue_options__.style = __vue_options__.style || {}
-       __vue_styles__.forEach(function (module) {
-         for (var name in module) {
-           __vue_options__.style[name] = module[name]
-         }
-       })
-       if (typeof __register_static_styles__ === "function") {
-         __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-       }
-
-       module.exports = __vue_exports__
-       module.exports.el = 'true'
-       new Vue(module.exports)
-
-
-/***/ }),
-
-/***/ 7:
-/***/ (function(module, exports, __webpack_require__) {
-
-       var __vue_exports__, __vue_options__
-       var __vue_styles__ = []
-
-       /* styles */
-       __vue_styles__.push(__webpack_require__(8)
-       )
-
-       /* script */
-       __vue_exports__ = __webpack_require__(9)
-
-       /* template */
-       var __vue_template__ = __webpack_require__(10)
-       __vue_options__ = __vue_exports__ = __vue_exports__ || {}
-       if (
-         typeof __vue_exports__.default === "object" ||
-         typeof __vue_exports__.default === "function"
-       ) {
-       if (Object.keys(__vue_exports__).some(function (key) { return key !== 
"default" && key !== "__esModule" })) {console.error("named exports are not 
supported in *.vue files.")}
-       __vue_options__ = __vue_exports__ = __vue_exports__.default
-       }
-       if (typeof __vue_options__ === "function") {
-         __vue_options__ = __vue_options__.options
-       }
-       __vue_options__.__file = 
"/Users/Hanks/Codes/work/incubator-weex/examples/vue/include/button.vue"
-       __vue_options__.render = __vue_template__.render
-       __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-       __vue_options__._scopeId = "data-v-71b34881"
-       __vue_options__.style = __vue_options__.style || {}
-       __vue_styles__.forEach(function (module) {
-         for (var name in module) {
-           __vue_options__.style[name] = module[name]
-         }
-       })
-       if (typeof __register_static_styles__ === "function") {
-         __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-       }
-
-       module.exports = __vue_exports__
-
-
-/***/ }),
-
-/***/ 8:
-/***/ (function(module, exports) {
-
-       module.exports = {
-         "btn": {
-           "marginBottom": 0,
-           "alignItems": "center",
-           "justifyContent": "center",
-           "borderWidth": 1,
-           "borderStyle": "solid",
-           "borderColor": "#333333"
-         },
-         "btn-default": {
-           "color": "rgb(51,51,51)"
-         },
-         "btn-primary": {
-           "backgroundColor": "rgb(40,96,144)",
-           "borderColor": "rgb(40,96,144)"
-         },
-         "btn-success": {
-           "backgroundColor": "rgb(92,184,92)",
-           "borderColor": "rgb(76,174,76)"
-         },
-         "btn-info": {
-           "backgroundColor": "rgb(91,192,222)",
-           "borderColor": "rgb(70,184,218)"
-         },
-         "btn-warning": {
-           "backgroundColor": "rgb(240,173,78)",
-           "borderColor": "rgb(238,162,54)"
-         },
-         "btn-danger": {
-           "backgroundColor": "rgb(217,83,79)",
-           "borderColor": "rgb(212,63,58)"
-         },
-         "btn-link": {
-           "borderColor": "rgba(0,0,0,0)",
-           "borderRadius": 0
-         },
-         "btn-txt-default": {
-           "color": "rgb(51,51,51)"
-         },
-         "btn-txt-primary": {
-           "color": "rgb(255,255,255)"
-         },
-         "btn-txt-success": {
-           "color": "rgb(255,255,255)"
-         },
-         "btn-txt-info": {
-           "color": "rgb(255,255,255)"
-         },
-         "btn-txt-warning": {
-           "color": "rgb(255,255,255)"
-         },
-         "btn-txt-danger": {
-           "color": "rgb(255,255,255)"
-         },
-         "btn-txt-link": {
-           "color": "rgb(51,122,183)"
-         },
-         "btn-sz-large": {
-           "width": 300,
-           "height": 100,
-           "paddingTop": 25,
-           "paddingBottom": 25,
-           "paddingLeft": 40,
-           "paddingRight": 40,
-           "borderRadius": 15
-         },
-         "btn-sz-middle": {
-           "width": 240,
-           "height": 80,
-           "paddingTop": 15,
-           "paddingBottom": 15,
-           "paddingLeft": 30,
-           "paddingRight": 30,
-           "borderRadius": 10
-         },
-         "btn-sz-small": {
-           "width": 170,
-           "height": 60,
-           "paddingTop": 12,
-           "paddingBottom": 12,
-           "paddingLeft": 25,
-           "paddingRight": 25,
-           "borderRadius": 7
-         },
-         "btn-txt-sz-large": {
-           "fontSize": 45
-         },
-         "btn-txt-sz-middle": {
-           "fontSize": 35
-         },
-         "btn-txt-sz-small": {
-           "fontSize": 30
-         }
-       }
-
-/***/ }),
-
-/***/ 9:
-/***/ (function(module, exports) {
-
-       'use strict';
-
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-
-       module.exports = {
-         props: {
-           type: { default: 'default' },
-           size: { default: 'large' },
-           value: { default: '' }
-         }
-       };
-
-/***/ }),
-
-/***/ 10:
-/***/ (function(module, exports) {
-
-       module.exports={render:function (){var _vm=this;var 
_h=_vm.$createElement;var _c=_vm._self._c||_h;
-         return _c('div', {
-           class: ['btn', 'btn-' + _vm.type, 'btn-sz-' + _vm.size]
-         }, [_c('text', {
-           class: ['btn-txt', 'btn-txt-' + _vm.type, 'btn-txt-sz-' + _vm.size]
-         }, [_vm._v(_vm._s(_vm.value))])])
-       },staticRenderFns: []}
-       module.exports.render._withStripped = true
-
-/***/ }),
-
-/***/ 84:
-/***/ (function(module, exports) {
-
-       module.exports = {
-         "video": {
-           "width": 750,
-           "height": 460,
-           "marginBottom": 80
-         }
-       }
-
-/***/ }),
-
-/***/ 85:
-/***/ (function(module, exports, __webpack_require__) {
-
-       'use strict';
-
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-
-       var modal = weex.requireModule('modal');
-       module.exports = {
-         data: function data() {
-           return {
-             playStatus: 'play'
-           };
-         },
-         components: {
-           button: __webpack_require__(7)
-         },
-         methods: {
-           pause: function pause() {
-             this.playStatus = 'pause';
-             modal.toast({ 'message': 'click pause' });
-           },
-           play: function play() {
-             this.playStatus = 'play';
-             modal.toast({ 'message': 'click play' });
-           },
-           onpause: function onpause(e) {
-             this.playStatus = e.playStatus;
-             modal.toast({ 'message': 'video pause' });
-           },
-           onstart: function onstart(e) {
-             this.playStatus = e.playStatus;
-             modal.toast({ 'message': 'video start' });
-           },
-           onfinish: function onfinish(e) {
-             this.playStatus = e.playStatus;
-             modal.toast({ 'message': 'video finish' });
-           },
-           onfail: function onfail(e) {
-             this.playStatus = e.playStatus;
-             modal.toast({ 'message': 'video fail' });
-           }
-         }
-       };
-
-/***/ }),
-
-/***/ 86:
-/***/ (function(module, exports) {
-
-       module.exports={render:function (){var _vm=this;var 
_h=_vm.$createElement;var _c=_vm._self._c||_h;
-         return _c('scroller', [_c('video', {
-           staticClass: ["video"],
-           attrs: {
-             "onpause": "onpause",
-             "onstart": "onstart",
-             "onfinish": "onfinish",
-             "onfail": "onfail",
-             "src": "http://g.tbcdn.cn/ali-wireless-h5/res/0.0.6/toy.mp4";,
-             "autoPlay": "true",
-             "playStatus": _vm.playStatus
-           }
-         }), _c('div', {
-           staticStyle: {
-             flexDirection: "row",
-             justifyContent: "center"
-           }
-         }, [_c('button', {
-           attrs: {
-             "value": "Pause"
-           },
-           nativeOn: {
-             "click": function($event) {
-               _vm.pause($event)
-             }
-           }
-         }), _c('button', {
-           staticStyle: {
-             marginLeft: "20px"
-           },
-           attrs: {
-             "value": "Play",
-             "type": "primary"
-           },
-           nativeOn: {
-             "click": function($event) {
-               _vm.play($event)
-             }
-           }
-         })], 1)])
-       },staticRenderFns: []}
-       module.exports.render._withStripped = true
-
-/***/ })
-
-/******/ });
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43564f3b/ios/playground/bundlejs/vue/components/waterfall.js
----------------------------------------------------------------------
diff --git a/ios/playground/bundlejs/vue/components/waterfall.js 
b/ios/playground/bundlejs/vue/components/waterfall.js
deleted file mode 100644
index 3b05481..0000000
--- a/ios/playground/bundlejs/vue/components/waterfall.js
+++ /dev/null
@@ -1,863 +0,0 @@
-// { "framework": "Vue" }
-
-/******/ (function(modules) { // webpackBootstrap
-/******/       // The module cache
-/******/       var installedModules = {};
-
-/******/       // The require function
-/******/       function __webpack_require__(moduleId) {
-
-/******/               // Check if module is in cache
-/******/               if(installedModules[moduleId])
-/******/                       return installedModules[moduleId].exports;
-
-/******/               // Create a new module (and put it into the cache)
-/******/               var module = installedModules[moduleId] = {
-/******/                       exports: {},
-/******/                       id: moduleId,
-/******/                       loaded: false
-/******/               };
-
-/******/               // Execute the module function
-/******/               modules[moduleId].call(module.exports, module, 
module.exports, __webpack_require__);
-
-/******/               // Flag the module as loaded
-/******/               module.loaded = true;
-
-/******/               // Return the exports of the module
-/******/               return module.exports;
-/******/       }
-
-
-/******/       // expose the modules object (__webpack_modules__)
-/******/       __webpack_require__.m = modules;
-
-/******/       // expose the module cache
-/******/       __webpack_require__.c = installedModules;
-
-/******/       // __webpack_public_path__
-/******/       __webpack_require__.p = "";
-
-/******/       // Load entry module and return exports
-/******/       return __webpack_require__(0);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 0:
-/***/ (function(module, exports, __webpack_require__) {
-
-       var __vue_exports__, __vue_options__
-       var __vue_styles__ = []
-
-       /* styles */
-       __vue_styles__.push(__webpack_require__(87)
-       )
-
-       /* script */
-       __vue_exports__ = __webpack_require__(88)
-
-       /* template */
-       var __vue_template__ = __webpack_require__(89)
-       __vue_options__ = __vue_exports__ = __vue_exports__ || {}
-       if (
-         typeof __vue_exports__.default === "object" ||
-         typeof __vue_exports__.default === "function"
-       ) {
-       if (Object.keys(__vue_exports__).some(function (key) { return key !== 
"default" && key !== "__esModule" })) {console.error("named exports are not 
supported in *.vue files.")}
-       __vue_options__ = __vue_exports__ = __vue_exports__.default
-       }
-       if (typeof __vue_options__ === "function") {
-         __vue_options__ = __vue_options__.options
-       }
-       __vue_options__.__file = 
"/Users/Hanks/Codes/work/incubator-weex/examples/vue/components/waterfall.vue"
-       __vue_options__.render = __vue_template__.render
-       __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-       __vue_options__._scopeId = "data-v-127cc93e"
-       __vue_options__.style = __vue_options__.style || {}
-       __vue_styles__.forEach(function (module) {
-         for (var name in module) {
-           __vue_options__.style[name] = module[name]
-         }
-       })
-       if (typeof __register_static_styles__ === "function") {
-         __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-       }
-
-       module.exports = __vue_exports__
-       module.exports.el = 'true'
-       new Vue(module.exports)
-
-
-/***/ }),
-
-/***/ 87:
-/***/ (function(module, exports) {
-
-       module.exports = {
-         "page": {
-           "backgroundColor": "#EFEFEF"
-         },
-         "refresh": {
-           "height": 128,
-           "width": 750,
-           "flexDirection": "row",
-           "alignItems": "center",
-           "justifyContent": "center"
-         },
-         "refreshText": {
-           "color": "#888888",
-           "fontWeight": "bold"
-         },
-         "indicator": {
-           "color": "#888888",
-           "height": 40,
-           "width": 40,
-           "marginRight": 30
-         },
-         "header": {
-           "backgroundColor": "#ffffff"
-         },
-         "banner": {
-           "height": 377,
-           "flexDirection": "row"
-         },
-         "bannerInfo": {
-           "width": 270,
-           "alignItems": "center",
-           "justifyContent": "center"
-         },
-         "avatar": {
-           "width": 148,
-           "height": 108,
-           "borderRadius": 54,
-           "borderWidth": 4,
-           "borderColor": "#FFFFFF",
-           "marginBottom": 14
-         },
-         "name": {
-           "fontWeight": "bold",
-           "fontSize": 32,
-           "color": "#ffffff",
-           "lineHeight": 32,
-           "textAlign": "center",
-           "marginBottom": 16
-         },
-         "titleWrap": {
-           "width": 100,
-           "height": 24,
-           "marginBottom": 10,
-           "backgroundColor": "rgba(255,255,255,0.8)",
-           "borderRadius": 12,
-           "justifyContent": "center",
-           "alignItems": "center"
-         },
-         "title": {
-           "fontSize": 20,
-           "color": "#000000"
-         },
-         "bannerPhotoWrap": {
-           "width": 449,
-           "height": 305,
-           "backgroundColor": "#FFFFFF",
-           "borderRadius": 12,
-           "marginTop": 35,
-           "paddingTop": 12,
-           "paddingRight": 12,
-           "paddingBottom": 12,
-           "paddingLeft": 12,
-           "flexDirection": "row",
-           "justifyContent": "space-between",
-           "flexWrap": "wrap"
-         },
-         "bannerPhoto": {
-           "width": 137,
-           "height": 137,
-           "marginBottom": 6
-         },
-         "stickyHeader": {
-           "position": "sticky",
-           "height": 94,
-           "flexDirection": "row",
-           "paddingBottom": 6
-         },
-         "stickyWrapper": {
-           "flexDirection": "row",
-           "backgroundColor": "#00cc99",
-           "justifyContent": "center",
-           "alignItems": "center",
-           "flex": 1
-         },
-         "stickyTextImageWrapper": {
-           "flex": 1,
-           "justifyContent": "center",
-           "alignItems": "center",
-           "flexDirection": "row"
-         },
-         "stickyText": {
-           "color": "#FFFFFF",
-           "fontWeight": "bold",
-           "fontSize": 32,
-           "marginRight": 12
-         },
-         "stickyImage": {
-           "width": 64,
-           "height": 64,
-           "borderRadius": 32
-         },
-         "cell": {
-           "paddingTop": 6,
-           "paddingBottom": 6
-         },
-         "item": {
-           "backgroundColor": "#FFFFFF",
-           "alignItems": "center"
-         },
-         "itemName": {
-           "fontSize": 28,
-           "color": "#333333",
-           "lineHeight": 42,
-           "textAlign": "left",
-           "marginTop": 24
-         },
-         "itemPhoto": {
-           "marginTop": 18,
-           "width": 220,
-           "height": 220,
-           "marginBottom": 18
-         },
-         "itemDesc": {
-           "fontSize": 24,
-           "marginTop": 12,
-           "marginRight": 12,
-           "marginBottom": 12,
-           "marginLeft": 12,
-           "color": "#999999",
-           "lineHeight": 36,
-           "textAlign": "left"
-         },
-         "itemClickBehaviour": {
-           "fontSize": 36,
-           "color": "#00cc99",
-           "lineHeight": 36,
-           "textAlign": "center",
-           "marginTop": 6,
-           "marginLeft": 24,
-           "marginRight": 24,
-           "marginBottom": 30
-         },
-         "fixedItem": {
-           "position": "fixed",
-           "width": 78,
-           "height": 78,
-           "backgroundColor": "#00cc99",
-           "right": 32,
-           "bottom": 32,
-           "borderRadius": 39,
-           "alignItems": "center",
-           "justifyContent": "center"
-         },
-         "fixedText": {
-           "fontSize": 36,
-           "color": "#FFFFFF",
-           "lineHeight": 36
-         }
-       }
-
-/***/ }),
-
-/***/ 88:
-/***/ (function(module, exports) {
-
-       'use strict';
-
-       Object.defineProperty(exports, "__esModule", {
-         value: true
-       });
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-
-       exports.default = {
-         data: function data() {
-           var items = [{
-             src: 
'https://gw.alicdn.com/tps/TB1Jl1CPFXXXXcJXXXXXXXXXXXX-370-370.jpg',
-             name: 'Thomas Carlyle',
-             desc: 'Genius only means hard-working all one\'s life',
-             behaviourName: 'Change count',
-             behaviour: 'changeColumnCount'
-           }, {
-             src: 
'https://gw.alicdn.com/tps/TB1Hv1JPFXXXXa3XXXXXXXXXXXX-370-370.jpg',
-             desc: 'The man who has made up his mind to win will never say 
"impossible "',
-             behaviourName: 'Change gap',
-             behaviour: 'changeColumnGap'
-           }, {
-             src: 
'https://gw.alicdn.com/tps/TB1eNKuPFXXXXc_XpXXXXXXXXXX-370-370.jpg',
-             desc: 'There is no such thing as a great talent without great 
will - power',
-             behaviourName: 'Show scrollbar',
-             behaviour: 'showScrollbar'
-           }, {
-             src: 
'https://gw.alicdn.com/tps/TB1DCh8PFXXXXX7aXXXXXXXXXXX-370-370.jpg',
-             name: 'Addison',
-             desc: 'Cease to struggle and you cease to live',
-             behaviourName: 'Change width',
-             behaviour: 'changeColumnWidth'
-           }, {
-             src: 
'https://gw.alicdn.com/tps/TB1ACygPFXXXXXwXVXXXXXXXXXX-370-370.jpg',
-             desc: 'A strong man will struggle with the storms of fate',
-             behaviourName: 'Listen appear',
-             behaviour: 'listenAppear'
-           }, {
-             src: 
'https://gw.alicdn.com/tps/TB1IGShPFXXXXaqXVXXXXXXXXXX-370-370.jpg',
-             name: 'Ruskin',
-             desc: 'Living without an aim is like sailing without a compass',
-             behaviourName: 'Set scrollable',
-             behaviour: 'setScrollable'
-           }, {
-             src: 
'https://gw.alicdn.com/tps/TB1xU93PFXXXXXHaXXXXXXXXXXX-240-240.jpg',
-             behaviourName: 'waterfall padding',
-             behaviour: 'setPadding'
-           }, {
-             src: 
'https://gw.alicdn.com/tps/TB19hu0PFXXXXaXaXXXXXXXXXXX-240-240.jpg',
-             name: 'Balzac',
-             desc: 'There is no such thing as a great talent without great 
will - power',
-             behaviourName: 'listen scroll',
-             behaviour: 'listenScroll'
-           }, {
-             src: 
'https://gw.alicdn.com/tps/TB1ux2vPFXXXXbkXXXXXXXXXXXX-240-240.jpg',
-             behaviourName: 'Remove cell',
-             behaviour: 'removeCell'
-           }, {
-             src: 
'https://gw.alicdn.com/tps/TB1tCCWPFXXXXa7aXXXXXXXXXXX-240-240.jpg',
-             behaviourName: 'Move cell',
-             behaviour: 'moveCell'
-           }];
-
-           var repeatItems = [];
-           for (var i = 0; i < 3; i++) {
-             repeatItems.push.apply(repeatItems, items);
-           }
-
-           return {
-             padding: 0,
-             refreshing: false,
-             refreshText: '↓   pull to refresh...',
-             columnCount: 2,
-             columnGap: 12,
-             columnWidth: 'auto',
-             contentOffset: '0',
-             showHeader: true,
-             showScrollbar: false,
-             scrollable: true,
-             showStickyHeader: false,
-             appearImage: null,
-             disappearImage: null,
-             stickyHeaderType: 'none',
-             banner: {
-               photos: [{ src: 
'https://gw.alicdn.com/tps/TB1JyaCPFXXXXc9XXXXXXXXXXXX-140-140.jpg' }, { src: 
'https://gw.alicdn.com/tps/TB1MwSFPFXXXXbdXXXXXXXXXXXX-140-140.jpg' }, { src: 
'https://gw.alicdn.com/tps/TB1U8avPFXXXXaDXpXXXXXXXXXX-140-140.jpg' }, { src: 
'https://gw.alicdn.com/tps/TB17Xh8PFXXXXbkaXXXXXXXXXXX-140-140.jpg' }, { src: 
'https://gw.alicdn.com/tps/TB1cTmLPFXXXXXRXXXXXXXXXXXX-140-140.jpg' }, { src: 
'https://gw.alicdn.com/tps/TB1oCefPFXXXXbVXVXXXXXXXXXX-140-140.jpg' }]
-             },
-             items: repeatItems
-           };
-         },
-
-         methods: {
-           recylerScroll: function recylerScroll(e) {
-             this.contentOffset = e.contentOffset.y;
-           },
-           showOrRemoveHeader: function showOrRemoveHeader() {
-             this.showHeader = !this.showHeader;
-           },
-           onItemclick: function onItemclick(behaviour, index) {
-             console.log('click...' + behaviour + ' at index ' + index);
-             switch (behaviour) {
-               case 'changeColumnCount':
-                 this.changeColumnCount();
-                 break;
-               case 'changeColumnGap':
-                 this.changeColumnGap();
-                 break;
-               case 'changeColumnWidth':
-                 this.changeColumnWidth();
-                 break;
-               case 'showScrollbar':
-                 this.showOrHideScrollbar();
-                 break;
-               case 'listenAppear':
-                 this.listenAppearAndDisappear();
-                 break;
-               case 'setScrollable':
-                 this.setScrollable();
-                 break;
-               case 'setPadding':
-                 this.setRecyclerPadding();
-                 break;
-               case 'listenScroll':
-                 this.listenScrollEvent();
-                 break;
-               case 'removeCell':
-                 this.removeCell(index);
-                 break;
-               case 'moveCell':
-                 this.moveCell(index);
-                 break;
-             }
-           },
-
-           itemAppear: function itemAppear(src) {
-             this.appearImage = src;
-           },
-
-           itemDisappear: function itemDisappear(src) {
-             this.disappearImage = src;
-           },
-
-           changeColumnCount: function changeColumnCount() {
-             if (this.columnCount === 2) {
-               this.columnCount = 3;
-             } else {
-               this.columnCount = 2;
-             }
-           },
-
-           changeColumnGap: function changeColumnGap() {
-             if (this.columnGap === 12) {
-               this.columnGap = 'normal';
-             } else {
-               this.columnGap = 12;
-             }
-           },
-
-           changeColumnWidth: function changeColumnWidth() {
-             if (this.columnWidth === 'auto') {
-               this.columnWidth = 600;
-             } else {
-               this.columnWidth = 'auto';
-             }
-           },
-
-           showOrHideScrollbar: function showOrHideScrollbar() {
-             this.showScrollbar = !this.showScrollbar;
-           },
-
-           setScrollable: function setScrollable() {
-             this.scrollable = !this.scrollable;
-           },
-
-           listenAppearAndDisappear: function listenAppearAndDisappear() {
-             this.stickyHeaderType = this.stickyHeaderType === 'appear' ? 
'none' : 'appear';
-           },
-
-           listenScrollEvent: function listenScrollEvent() {
-             this.stickyHeaderType = this.stickyHeaderType === 'scroll' ? 
'none' : 'scroll';
-           },
-
-           scrollToTop: function scrollToTop() {
-             // weex.requireModule('dom').scrollToElement(this.$refs.cell0)
-             weex.requireModule('dom').scrollToElement(this.$refs.header);
-           },
-
-           setRecyclerPadding: function setRecyclerPadding() {
-             debugger;
-             this.padding = this.padding == 0 ? 12 : 0;
-           },
-
-           removeCell: function removeCell(index) {
-             this.items.splice(index, 1);
-           },
-
-           moveCell: function moveCell(index) {
-
-             if (index == 0) {
-               this.items.splice(this.items.length - 1, 0, 
this.items.splice(index, 1)[0]);
-             } else {
-               this.items.splice(0, 0, this.items.splice(index, 1)[0]);
-             }
-           },
-
-           onrefresh: function onrefresh(event) {
-             var _this = this;
-
-             this.refreshing = true;
-             this.refreshText = "loading...";
-             setTimeout(function () {
-               _this.refreshing = false;
-               _this.refreshText = '↓   pull to refresh...';
-             }, 2000);
-           },
-           onpullingdown: function onpullingdown(event) {
-             // console.log(`${event.pullingDistance}`)
-             if (event.pullingDistance < -64) {
-               this.refreshText = '↑   release to refresh...';
-             } else {
-               this.refreshText = '↓   pull to refresh...';
-             }
-           }
-         }
-       };
-
-/***/ }),
-
-/***/ 89:
-/***/ (function(module, exports) {
-
-       module.exports={render:function (){var _vm=this;var 
_h=_vm.$createElement;var _c=_vm._self._c||_h;
-         return _c('waterfall', {
-           staticClass: ["page"],
-           style: {
-             padding: _vm.padding
-           },
-           attrs: {
-             "columnWidth": _vm.columnWidth,
-             "columnCount": _vm.columnCount,
-             "columnGap": _vm.columnGap,
-             "showScrollbar": _vm.showScrollbar,
-             "scrollable": _vm.scrollable
-           },
-           on: {
-             "scroll": _vm.recylerScroll
-           }
-         }, [_c('refresh', {
-           staticClass: ["refresh"],
-           attrs: {
-             "display": _vm.refreshing ? 'show' : 'hide'
-           },
-           on: {
-             "refresh": _vm.onrefresh,
-             "pullingdown": _vm.onpullingdown
-           }
-         }, [_c('loading-indicator', {
-           staticClass: ["indicator"]
-         }), _c('text', {
-           staticClass: ["refreshText"]
-         }, [_vm._v(_vm._s(_vm.refreshText))])]), (_vm.showHeader) ? 
_c('header', {
-           ref: "header",
-           staticClass: ["header"]
-         }, [_c('div', {
-           staticClass: ["banner"],
-           attrs: {
-             "src": 
"https://gw.alicdn.com/tps/TB1ESN1PFXXXXX1apXXXXXXXXXX-1000-600.jpg";,
-             "resize": "cover"
-           }
-         }, [_c('div', {
-           staticClass: ["bannerInfo"]
-         }, [_c('image', {
-           staticClass: ["avatar"],
-           attrs: {
-             "src": 
"https://gw.alicdn.com/tps/TB1EP9bPFXXXXbpXVXXXXXXXXXX-150-110.jpg";,
-             "resize": "cover"
-           }
-         }), _c('text', {
-           staticClass: ["name"]
-         }, [_vm._v("Adam Cat")]), _c('div', {
-           staticClass: ["titleWrap"]
-         }, [_c('text', {
-           staticClass: ["title"]
-         }, [_vm._v("Genius")])])]), _c('div', {
-           staticClass: ["bannerPhotoWrap"]
-         }, _vm._l((_vm.banner.photos), function(photo) {
-           return _c('image', {
-             staticClass: ["bannerPhoto"],
-             attrs: {
-               "src": photo.src
-             }
-           })
-         }))])]) : _vm._e(), _c('header', {
-           staticClass: ["stickyHeader"]
-         }, [(_vm.stickyHeaderType === 'none') ? _c('div', {
-           staticClass: ["stickyWrapper"]
-         }, [_c('text', {
-           staticClass: ["stickyText"]
-         }, [_vm._v("Sticky Header")])]) : _vm._e(), (_vm.stickyHeaderType === 
'appear') ? _c('div', {
-           staticClass: ["stickyWrapper"]
-         }, [_c('div', {
-           staticClass: ["stickyTextImageWrapper"]
-         }, [_c('text', {
-           staticClass: ["stickyText"]
-         }, [_vm._v("Last Appear:")]), _c('image', {
-           staticClass: ["stickyImage"],
-           attrs: {
-             "src": _vm.appearImage
-           }
-         })]), _c('div', {
-           staticClass: ["stickyTextImageWrapper"]
-         }, [_c('text', {
-           staticClass: ["stickyText"]
-         }, [_vm._v("Last Disappear:")]), _c('image', {
-           staticClass: ["stickyImage"],
-           attrs: {
-             "src": _vm.disappearImage
-           }
-         })])]) : _vm._e(), (_vm.stickyHeaderType === 'scroll') ? _c('div', {
-           staticClass: ["stickyWrapper"]
-         }, [_c('text', {
-           staticClass: ["stickyText"]
-         }, [_vm._v("Content Offset:" + _vm._s(_vm.contentOffset))])]) : 
_vm._e()]), _vm._l((_vm.items), function(item, index) {
-           return _c('cell', {
-             key: index,
-             ref: ("cell" + index),
-             refInFor: true,
-             staticClass: ["cell"],
-             appendAsTree: true,
-             attrs: {
-               "append": "tree"
-             }
-           }, [_c('div', {
-             staticClass: ["item"],
-             on: {
-               "click": function($event) {
-                 _vm.onItemclick(item.behaviour, index)
-               },
-               "appear": function($event) {
-                 _vm.itemAppear(item.src)
-               },
-               "disappear": function($event) {
-                 _vm.itemDisappear(item.src)
-               }
-             }
-           }, [(item.name) ? _c('text', {
-             staticClass: ["itemName"]
-           }, [_vm._v(_vm._s(item.name))]) : _vm._e(), _c('image', {
-             staticClass: ["itemPhoto"],
-             attrs: {
-               "src": item.src
-             }
-           }), (item.desc) ? _c('text', {
-             staticClass: ["itemDesc"]
-           }, [_vm._v(_vm._s(item.desc))]) : _vm._e(), (item.behaviourName) ? 
_c('text', {
-             staticClass: ["itemClickBehaviour"]
-           }, [_vm._v(" " + _vm._s(item.behaviourName))]) : _vm._e()])])
-         }), _c('div', {
-           staticClass: ["fixedItem"],
-           on: {
-             "click": _vm.scrollToTop
-           }
-         }, [_c('text', {
-           staticClass: ["fixedText"]
-         }, [_vm._v("Top")])])], 2)
-       },staticRenderFns: []}
-       module.exports.render._withStripped = true
-
-/***/ })
-
-/******/ });
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43564f3b/ios/playground/bundlejs/vue/components/web.js
----------------------------------------------------------------------
diff --git a/ios/playground/bundlejs/vue/components/web.js 
b/ios/playground/bundlejs/vue/components/web.js
deleted file mode 100644
index d026a59..0000000
--- a/ios/playground/bundlejs/vue/components/web.js
+++ /dev/null
@@ -1,467 +0,0 @@
-// { "framework": "Vue" }
-
-/******/ (function(modules) { // webpackBootstrap
-/******/       // The module cache
-/******/       var installedModules = {};
-
-/******/       // The require function
-/******/       function __webpack_require__(moduleId) {
-
-/******/               // Check if module is in cache
-/******/               if(installedModules[moduleId])
-/******/                       return installedModules[moduleId].exports;
-
-/******/               // Create a new module (and put it into the cache)
-/******/               var module = installedModules[moduleId] = {
-/******/                       exports: {},
-/******/                       id: moduleId,
-/******/                       loaded: false
-/******/               };
-
-/******/               // Execute the module function
-/******/               modules[moduleId].call(module.exports, module, 
module.exports, __webpack_require__);
-
-/******/               // Flag the module as loaded
-/******/               module.loaded = true;
-
-/******/               // Return the exports of the module
-/******/               return module.exports;
-/******/       }
-
-
-/******/       // expose the modules object (__webpack_modules__)
-/******/       __webpack_require__.m = modules;
-
-/******/       // expose the module cache
-/******/       __webpack_require__.c = installedModules;
-
-/******/       // __webpack_public_path__
-/******/       __webpack_require__.p = "";
-
-/******/       // Load entry module and return exports
-/******/       return __webpack_require__(0);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 0:
-/***/ (function(module, exports, __webpack_require__) {
-
-       var __vue_exports__, __vue_options__
-       var __vue_styles__ = []
-
-       /* styles */
-       __vue_styles__.push(__webpack_require__(90)
-       )
-
-       /* script */
-       __vue_exports__ = __webpack_require__(91)
-
-       /* template */
-       var __vue_template__ = __webpack_require__(92)
-       __vue_options__ = __vue_exports__ = __vue_exports__ || {}
-       if (
-         typeof __vue_exports__.default === "object" ||
-         typeof __vue_exports__.default === "function"
-       ) {
-       if (Object.keys(__vue_exports__).some(function (key) { return key !== 
"default" && key !== "__esModule" })) {console.error("named exports are not 
supported in *.vue files.")}
-       __vue_options__ = __vue_exports__ = __vue_exports__.default
-       }
-       if (typeof __vue_options__ === "function") {
-         __vue_options__ = __vue_options__.options
-       }
-       __vue_options__.__file = 
"/Users/Hanks/Codes/work/incubator-weex/examples/vue/components/web.vue"
-       __vue_options__.render = __vue_template__.render
-       __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-       __vue_options__._scopeId = "data-v-cba25c3a"
-       __vue_options__.style = __vue_options__.style || {}
-       __vue_styles__.forEach(function (module) {
-         for (var name in module) {
-           __vue_options__.style[name] = module[name]
-         }
-       })
-       if (typeof __register_static_styles__ === "function") {
-         __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-       }
-
-       module.exports = __vue_exports__
-       module.exports.el = 'true'
-       new Vue(module.exports)
-
-
-/***/ }),
-
-/***/ 7:
-/***/ (function(module, exports, __webpack_require__) {
-
-       var __vue_exports__, __vue_options__
-       var __vue_styles__ = []
-
-       /* styles */
-       __vue_styles__.push(__webpack_require__(8)
-       )
-
-       /* script */
-       __vue_exports__ = __webpack_require__(9)
-
-       /* template */
-       var __vue_template__ = __webpack_require__(10)
-       __vue_options__ = __vue_exports__ = __vue_exports__ || {}
-       if (
-         typeof __vue_exports__.default === "object" ||
-         typeof __vue_exports__.default === "function"
-       ) {
-       if (Object.keys(__vue_exports__).some(function (key) { return key !== 
"default" && key !== "__esModule" })) {console.error("named exports are not 
supported in *.vue files.")}
-       __vue_options__ = __vue_exports__ = __vue_exports__.default
-       }
-       if (typeof __vue_options__ === "function") {
-         __vue_options__ = __vue_options__.options
-       }
-       __vue_options__.__file = 
"/Users/Hanks/Codes/work/incubator-weex/examples/vue/include/button.vue"
-       __vue_options__.render = __vue_template__.render
-       __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-       __vue_options__._scopeId = "data-v-71b34881"
-       __vue_options__.style = __vue_options__.style || {}
-       __vue_styles__.forEach(function (module) {
-         for (var name in module) {
-           __vue_options__.style[name] = module[name]
-         }
-       })
-       if (typeof __register_static_styles__ === "function") {
-         __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-       }
-
-       module.exports = __vue_exports__
-
-
-/***/ }),
-
-/***/ 8:
-/***/ (function(module, exports) {
-
-       module.exports = {
-         "btn": {
-           "marginBottom": 0,
-           "alignItems": "center",
-           "justifyContent": "center",
-           "borderWidth": 1,
-           "borderStyle": "solid",
-           "borderColor": "#333333"
-         },
-         "btn-default": {
-           "color": "rgb(51,51,51)"
-         },
-         "btn-primary": {
-           "backgroundColor": "rgb(40,96,144)",
-           "borderColor": "rgb(40,96,144)"
-         },
-         "btn-success": {
-           "backgroundColor": "rgb(92,184,92)",
-           "borderColor": "rgb(76,174,76)"
-         },
-         "btn-info": {
-           "backgroundColor": "rgb(91,192,222)",
-           "borderColor": "rgb(70,184,218)"
-         },
-         "btn-warning": {
-           "backgroundColor": "rgb(240,173,78)",
-           "borderColor": "rgb(238,162,54)"
-         },
-         "btn-danger": {
-           "backgroundColor": "rgb(217,83,79)",
-           "borderColor": "rgb(212,63,58)"
-         },
-         "btn-link": {
-           "borderColor": "rgba(0,0,0,0)",
-           "borderRadius": 0
-         },
-         "btn-txt-default": {
-           "color": "rgb(51,51,51)"
-         },
-         "btn-txt-primary": {
-           "color": "rgb(255,255,255)"
-         },
-         "btn-txt-success": {
-           "color": "rgb(255,255,255)"
-         },
-         "btn-txt-info": {
-           "color": "rgb(255,255,255)"
-         },
-         "btn-txt-warning": {
-           "color": "rgb(255,255,255)"
-         },
-         "btn-txt-danger": {
-           "color": "rgb(255,255,255)"
-         },
-         "btn-txt-link": {
-           "color": "rgb(51,122,183)"
-         },
-         "btn-sz-large": {
-           "width": 300,
-           "height": 100,
-           "paddingTop": 25,
-           "paddingBottom": 25,
-           "paddingLeft": 40,
-           "paddingRight": 40,
-           "borderRadius": 15
-         },
-         "btn-sz-middle": {
-           "width": 240,
-           "height": 80,
-           "paddingTop": 15,
-           "paddingBottom": 15,
-           "paddingLeft": 30,
-           "paddingRight": 30,
-           "borderRadius": 10
-         },
-         "btn-sz-small": {
-           "width": 170,
-           "height": 60,
-           "paddingTop": 12,
-           "paddingBottom": 12,
-           "paddingLeft": 25,
-           "paddingRight": 25,
-           "borderRadius": 7
-         },
-         "btn-txt-sz-large": {
-           "fontSize": 45
-         },
-         "btn-txt-sz-middle": {
-           "fontSize": 35
-         },
-         "btn-txt-sz-small": {
-           "fontSize": 30
-         }
-       }
-
-/***/ }),
-
-/***/ 9:
-/***/ (function(module, exports) {
-
-       'use strict';
-
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-
-       module.exports = {
-         props: {
-           type: { default: 'default' },
-           size: { default: 'large' },
-           value: { default: '' }
-         }
-       };
-
-/***/ }),
-
-/***/ 10:
-/***/ (function(module, exports) {
-
-       module.exports={render:function (){var _vm=this;var 
_h=_vm.$createElement;var _c=_vm._self._c||_h;
-         return _c('div', {
-           class: ['btn', 'btn-' + _vm.type, 'btn-sz-' + _vm.size]
-         }, [_c('text', {
-           class: ['btn-txt', 'btn-txt-' + _vm.type, 'btn-txt-sz-' + _vm.size]
-         }, [_vm._v(_vm._s(_vm.value))])])
-       },staticRenderFns: []}
-       module.exports.render._withStripped = true
-
-/***/ }),
-
-/***/ 90:
-/***/ (function(module, exports) {
-
-       module.exports = {
-         "wrapper": {
-           "width": 750,
-           "position": "absolute",
-           "top": 0,
-           "left": 0,
-           "right": 0,
-           "bottom": 0
-         },
-         "content": {
-           "position": "absolute",
-           "top": 0,
-           "left": 0,
-           "right": 0,
-           "bottom": 0,
-           "marginTop": 0,
-           "marginBottom": 70
-         },
-         "toolbar": {
-           "flexDirection": "row",
-           "position": "fixed",
-           "bottom": 0,
-           "left": 0,
-           "right": 0,
-           "height": 70
-         }
-       }
-
-/***/ }),
-
-/***/ 91:
-/***/ (function(module, exports, __webpack_require__) {
-
-       'use strict';
-
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-
-       var webview = weex.requireModule('webview');
-       module.exports = {
-         components: {
-           button: __webpack_require__(7)
-         },
-         methods: {
-           goback: function goback() {
-             var el = this.$refs.webview;
-             webview.goBack(el);
-           },
-           goforward: function goforward() {
-             var el = this.$refs.webview;
-             webview.goForward(el);
-           },
-           refresh: function refresh() {
-             var el = this.$refs.webview;
-             webview.reload(el);
-           },
-           startload: function startload(e) {},
-           finishload: function finishload(e) {},
-           failload: function failload(e) {}
-         }
-       };
-
-/***/ }),
-
-/***/ 92:
-/***/ (function(module, exports) {
-
-       module.exports={render:function (){var _vm=this;var 
_h=_vm.$createElement;var _c=_vm._self._c||_h;
-         return _c('div', {
-           staticClass: ["wrapper"]
-         }, [_c('div', {
-           staticClass: ["toolbar"],
-           appendAsTree: true,
-           attrs: {
-             "append": "tree"
-           }
-         }, [_c('button', {
-           staticStyle: {
-             marginLeft: "30px",
-             width: "210px",
-             marginTop: "5px",
-             marginBottom: "5px"
-           },
-           attrs: {
-             "type": "primary",
-             "size": "small",
-             "value": "back"
-           },
-           nativeOn: {
-             "click": function($event) {
-               _vm.goback($event)
-             }
-           }
-         }), _c('button', {
-           staticStyle: {
-             marginLeft: "30px",
-             width: "210px",
-             marginTop: "5px",
-             marginBottom: "5px"
-           },
-           attrs: {
-             "type": "primary",
-             "size": "small",
-             "value": "forward"
-           },
-           nativeOn: {
-             "click": function($event) {
-               _vm.goforward($event)
-             }
-           }
-         }), _c('button', {
-           staticStyle: {
-             marginLeft: "30px",
-             width: "210px",
-             marginTop: "5px",
-             marginBottom: "5px"
-           },
-           attrs: {
-             "type": "primary",
-             "size": "small",
-             "value": "refresh"
-           },
-           nativeOn: {
-             "click": function($event) {
-               _vm.refresh($event)
-             }
-           }
-         })], 1), _c('web', {
-           ref: "webview",
-           staticClass: ["content"],
-           attrs: {
-             "src": "http://alibaba.github.io/weex/index.html";
-           },
-           on: {
-             "pagestart": _vm.startload,
-             "pagefinish": _vm.finishload,
-             "error": _vm.failload
-           }
-         })])
-       },staticRenderFns: []}
-       module.exports.render._withStripped = true
-
-/***/ })
-
-/******/ });
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43564f3b/ios/playground/bundlejs/vue/hello.js
----------------------------------------------------------------------
diff --git a/ios/playground/bundlejs/vue/hello.js 
b/ios/playground/bundlejs/vue/hello.js
deleted file mode 100644
index f8b9369..0000000
--- a/ios/playground/bundlejs/vue/hello.js
+++ /dev/null
@@ -1,102 +0,0 @@
-// { "framework": "Vue" }
-
-/******/ (function(modules) { // webpackBootstrap
-/******/       // The module cache
-/******/       var installedModules = {};
-
-/******/       // The require function
-/******/       function __webpack_require__(moduleId) {
-
-/******/               // Check if module is in cache
-/******/               if(installedModules[moduleId])
-/******/                       return installedModules[moduleId].exports;
-
-/******/               // Create a new module (and put it into the cache)
-/******/               var module = installedModules[moduleId] = {
-/******/                       exports: {},
-/******/                       id: moduleId,
-/******/                       loaded: false
-/******/               };
-
-/******/               // Execute the module function
-/******/               modules[moduleId].call(module.exports, module, 
module.exports, __webpack_require__);
-
-/******/               // Flag the module as loaded
-/******/               module.loaded = true;
-
-/******/               // Return the exports of the module
-/******/               return module.exports;
-/******/       }
-
-
-/******/       // expose the modules object (__webpack_modules__)
-/******/       __webpack_require__.m = modules;
-
-/******/       // expose the module cache
-/******/       __webpack_require__.c = installedModules;
-
-/******/       // __webpack_public_path__
-/******/       __webpack_require__.p = "";
-
-/******/       // Load entry module and return exports
-/******/       return __webpack_require__(0);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 0:
-/***/ (function(module, exports, __webpack_require__) {
-
-       var __vue_exports__, __vue_options__
-       var __vue_styles__ = []
-
-       /* template */
-       var __vue_template__ = __webpack_require__(93)
-       __vue_options__ = __vue_exports__ = __vue_exports__ || {}
-       if (
-         typeof __vue_exports__.default === "object" ||
-         typeof __vue_exports__.default === "function"
-       ) {
-       if (Object.keys(__vue_exports__).some(function (key) { return key !== 
"default" && key !== "__esModule" })) {console.error("named exports are not 
supported in *.vue files.")}
-       __vue_options__ = __vue_exports__ = __vue_exports__.default
-       }
-       if (typeof __vue_options__ === "function") {
-         __vue_options__ = __vue_options__.options
-       }
-       __vue_options__.__file = 
"/Users/Hanks/Codes/work/incubator-weex/examples/vue/hello.vue"
-       __vue_options__.render = __vue_template__.render
-       __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-       __vue_options__.style = __vue_options__.style || {}
-       __vue_styles__.forEach(function (module) {
-         for (var name in module) {
-           __vue_options__.style[name] = module[name]
-         }
-       })
-       if (typeof __register_static_styles__ === "function") {
-         __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-       }
-
-       module.exports = __vue_exports__
-       module.exports.el = 'true'
-       new Vue(module.exports)
-
-
-/***/ }),
-
-/***/ 93:
-/***/ (function(module, exports) {
-
-       module.exports={render:function (){var _vm=this;var 
_h=_vm.$createElement;var _c=_vm._self._c||_h;
-         return _vm._m(0)
-       },staticRenderFns: [function (){var _vm=this;var 
_h=_vm.$createElement;var _c=_vm._self._c||_h;
-         return _c('div', [_c('text', {
-           staticStyle: {
-             fontSize: "100px"
-           }
-         }, [_vm._v("Hello World.")])])
-       }]}
-       module.exports.render._withStripped = true
-
-/***/ })
-
-/******/ });
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43564f3b/ios/playground/bundlejs/vue/iconfont.js
----------------------------------------------------------------------
diff --git a/ios/playground/bundlejs/vue/iconfont.js 
b/ios/playground/bundlejs/vue/iconfont.js
deleted file mode 100644
index 5b7f90e..0000000
--- a/ios/playground/bundlejs/vue/iconfont.js
+++ /dev/null
@@ -1,342 +0,0 @@
-// { "framework": "Vue" }
-
-/******/ (function(modules) { // webpackBootstrap
-/******/       // The module cache
-/******/       var installedModules = {};
-
-/******/       // The require function
-/******/       function __webpack_require__(moduleId) {
-
-/******/               // Check if module is in cache
-/******/               if(installedModules[moduleId])
-/******/                       return installedModules[moduleId].exports;
-
-/******/               // Create a new module (and put it into the cache)
-/******/               var module = installedModules[moduleId] = {
-/******/                       exports: {},
-/******/                       id: moduleId,
-/******/                       loaded: false
-/******/               };
-
-/******/               // Execute the module function
-/******/               modules[moduleId].call(module.exports, module, 
module.exports, __webpack_require__);
-
-/******/               // Flag the module as loaded
-/******/               module.loaded = true;
-
-/******/               // Return the exports of the module
-/******/               return module.exports;
-/******/       }
-
-
-/******/       // expose the modules object (__webpack_modules__)
-/******/       __webpack_require__.m = modules;
-
-/******/       // expose the module cache
-/******/       __webpack_require__.c = installedModules;
-
-/******/       // __webpack_public_path__
-/******/       __webpack_require__.p = "";
-
-/******/       // Load entry module and return exports
-/******/       return __webpack_require__(0);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 0:
-/***/ (function(module, exports, __webpack_require__) {
-
-       var __vue_exports__, __vue_options__
-       var __vue_styles__ = []
-
-       /* styles */
-       __vue_styles__.push(__webpack_require__(94)
-       )
-
-       /* script */
-       __vue_exports__ = __webpack_require__(95)
-
-       /* template */
-       var __vue_template__ = __webpack_require__(96)
-       __vue_options__ = __vue_exports__ = __vue_exports__ || {}
-       if (
-         typeof __vue_exports__.default === "object" ||
-         typeof __vue_exports__.default === "function"
-       ) {
-       if (Object.keys(__vue_exports__).some(function (key) { return key !== 
"default" && key !== "__esModule" })) {console.error("named exports are not 
supported in *.vue files.")}
-       __vue_options__ = __vue_exports__ = __vue_exports__.default
-       }
-       if (typeof __vue_options__ === "function") {
-         __vue_options__ = __vue_options__.options
-       }
-       __vue_options__.__file = 
"/Users/Hanks/Codes/work/incubator-weex/examples/vue/iconfont.vue"
-       __vue_options__.render = __vue_template__.render
-       __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-       __vue_options__._scopeId = "data-v-f9298a60"
-       __vue_options__.style = __vue_options__.style || {}
-       __vue_styles__.forEach(function (module) {
-         for (var name in module) {
-           __vue_options__.style[name] = module[name]
-         }
-       })
-       if (typeof __register_static_styles__ === "function") {
-         __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-       }
-
-       module.exports = __vue_exports__
-       module.exports.el = 'true'
-       new Vue(module.exports)
-
-
-/***/ }),
-
-/***/ 94:
-/***/ (function(module, exports) {
-
-       module.exports = {
-         "title1": {
-           "color": "#FF0000",
-           "fontSize": 36,
-           "fontFamily": "iconfont1"
-         },
-         "title2": {
-           "color": "#808080",
-           "fontSize": 36,
-           "fontFamily": "iconfont2"
-         },
-         "title3": {
-           "color": "#FFC0CB",
-           "fontSize": 36,
-           "fontFamily": "iconfont3"
-         },
-         "title4": {
-           "color": "#FF0000",
-           "fontSize": 36,
-           "fontFamily": "iconfont4"
-         }
-       }
-
-/***/ }),
-
-/***/ 95:
-/***/ (function(module, exports) {
-
-       'use strict';
-
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-       //
-
-       module.exports = {
-         created: function created() {
-
-           var domModule = weex.requireModule('dom');
-           //目前支持ttf、woff文件,不支持svg、eot类型,moreItem 
at http://www.iconfont.cn/
-
-           domModule.addRule('fontFace', {
-             'fontFamily': "iconfont2",
-             'src': "url('http://at.alicdn.com/t/font_1469606063_76593.ttf')"
-           });
-           domModule.addRule('fontFace', {
-             'fontFamily': "iconfont3",
-             'src': 
"url('http://at.alicdn.com/t/font_1469606522_9417143.woff')"
-           });
-
-           domModule.addRule('fontFace', {
-             'fontFamily': "iconfont4",
-             'src': "url('http://at.alicdn.com/t/font_zn5b3jswpofuhaor.ttf')"
-           });
-
-           // you can use the absolute path or the local:// scheme path
-           //  domModule.addRule('fontFace', {
-           //   'fontFamily': "iconfont4",
-           //   'src': 
"url('file:///storage/emulated/0/Android/data/com.alibaba.weex/cache/http:__at.alicdn.com_t_font_1469606063_76593.ttf')"
-           // });
-         }
-       };
-
-/***/ }),
-
-/***/ 96:
-/***/ (function(module, exports) {
-
-       module.exports={render:function (){var _vm=this;var 
_h=_vm.$createElement;var _c=_vm._self._c||_h;
-         return _vm._m(0)
-       },staticRenderFns: [function (){var _vm=this;var 
_h=_vm.$createElement;var _c=_vm._self._c||_h;
-         return _c('scroller', {
-           staticStyle: {
-             alignItems: "center"
-           }
-         }, [_c('div', {
-           staticStyle: {
-             marginTop: "20px"
-           }
-         }, [_c('text', {
-           staticStyle: {
-             color: "red",
-             fontSize: "50px"
-           }
-         }, [_vm._v("only support font for ttf and woff")])]), _c('text', {
-           staticClass: ["title2"],
-           staticStyle: {
-             marginTop: "50px",
-             width: "500px"
-           }
-         }, [_vm._v("http ttf: ")]), _c('text', {
-           staticClass: ["title3"],
-           staticStyle: {
-             marginTop: "50px",
-             width: "500px"
-           }
-         }, [_vm._v("http woff: ")]), _c('div', {
-           staticStyle: {
-             flexDirection: "row",
-             marginTop: "50px"
-           }
-         }, [_c('text', {
-           staticStyle: {
-             fontFamily: "iconfont4",
-             fontSize: "50",
-             color: "green"
-           }
-         }, [_vm._v("")]), _c('text', {
-           staticStyle: {
-             fontFamily: "iconfont4",
-             fontSize: "50"
-           }
-         }, [_vm._v("")]), _c('text', {
-           staticStyle: {
-             fontFamily: "iconfont4",
-             fontSize: "60",
-             color: "blue"
-           }
-         }, [_vm._v("")]), _c('text', {
-           staticStyle: {
-             fontFamily: "iconfont4",
-             fontSize: "60",
-             color: "green"
-           }
-         }, [_vm._v("")])]), _c('div', {
-           staticStyle: {
-             flexDirection: "row",
-             marginTop: "50px"
-           }
-         }, [_c('text', {
-           staticStyle: {
-             fontFamily: "iconfont4",
-             fontSize: "50",
-             color: "green"
-           }
-         }, [_vm._v("")]), _c('text', {
-           staticStyle: {
-             fontFamily: "iconfont4",
-             fontSize: "50"
-           }
-         }, [_vm._v("")]), _c('text', {
-           staticStyle: {
-             fontFamily: "iconfont4",
-             fontSize: "60",
-             color: "blue"
-           }
-         }, [_vm._v("")]), _c('text', {
-           staticStyle: {
-             fontFamily: "iconfont4",
-             fontSize: "60",
-             color: "green"
-           }
-         }, [_vm._v("")])]), _c('div', 
[_c('text', {
-           staticStyle: {
-             fontFamily: "iconfont4",
-             fontSize: "100",
-             marginTop: "50px"
-           }
-         }, [_vm._v("")])]), _c('div', [_c('text', {
-           staticStyle: {
-             fontFamily: "iconfont4",
-             fontSize: "100",
-             color: "green",
-             marginTop: "50px"
-           }
-         }, [_vm._v("")]), _c('text', {
-           staticStyle: {
-             fontFamily: "iconfont4",
-             fontSize: "100",
-             marginTop: "50px"
-           }
-         })]), _c('div', {
-           staticStyle: {
-             flexDirection: "row"
-           }
-         }, [_c('text', {
-           staticStyle: {
-             fontFamily: "iconfont4",
-             fontSize: "70",
-             width: "750px"
-           }
-         }, [_vm._v("
")])])])
-       }]}
-       module.exports.render._withStripped = true
-
-/***/ })
-
-/******/ });
\ No newline at end of file

Reply via email to