1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import { VantComponent } from '../components/vant-ui/common/component'
- export function VueLikePage (filters, options) {
- if (typeof filters === 'function') {
- filters = [filters]
- } else if (!Array.isArray(filters)) {
- options = filters
- filters = []
- }
- if (filters.length > 0) {
- filters.forEach(filter => options = filter(options))
- }
- options.mixins = options.mixins || []
- return VantComponent(options)
- }
- /**
- * 给页面加上生命周期钩子函数
- * @param {Object} options 页面选项
- * @param {String} method 生命周期key
- * @param {Function} fn 钩子函数
- */
- function hookPageLifeTimeMethod (options, method, fn) {
- let _method
- if (options[method]) {
- _method = options[method]
- } else if (options.methods && options.methods[method]) {
- _method = options.methods[method]
- }
- if (!options.methods) {
- options.methods = {}
- }
- options[method] = options.methods[method] = function (args) {
- if (fn.call(this, args) === false) {
- return
- }
- if (typeof _method === 'function') {
- _method.call(this, args)
- }
- }
- return options
- }
|