1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- /**
- * 对某个表达式进行求值
- * @param viewModel 数据对象
- * @param express
- */
- export function tplExpress(viewModel, express) {
- if (viewModel.expressionRe.test(express)) {
- // If we have '{foo}' alone it is a literal 简单表达式
- express = express.substring(1, express.length - 1);
- return viewModel.get(express)
- } else {
- let ret = undefined
- viewModel.bind(express, function (v) {
- ret = v
- debugger
- })
- // Ext.app.bind.TemplateBinding
- debugger
- }
- }
- /**
- * 对多个表达式进行求值. 异步回调的方式返回
- * {
- * a: 1,
- * b: '{someBind}',
- * c: ['a', 'b', 'c'],
- * d: ['a', 'b', '{someBind}'],
- * e: {
- * y: 1,
- * z: 2
- * },
- * f: {
- * y: 1,
- * z: '{someBind}'
- * }
- * }
- *
- * // Will produce
- * {
- * b: value,
- * d: ['a', 'b', value],
- * f: {
- * y: 1,
- * z: value
- * }
- * }
- * @param viewModel scope.viewModel对象
- * @param paramObject 求值对象
- */
- export function calcObject(viewModel, paramObject) {
- // new Ext.app.bind.Multi({a:'1',b:'ddd{query.WH_ID}'},currentScope.viewModel,function(v){console.log(v)},currentScope, {single: true})
- return new Promise(resolve => {
- const schedule = new Ext.app.bind.Multi(
- paramObject,
- viewModel,
- (ret) => {
- schedule.destroy()
- resolve(ret)
- },
- viewModel,
- {single: true})
- })
- }
|