예제 #1
0
        public virtual void BindCtx4App2Js(IJSContextProvider jsCtx)
        {
            this.JsCtx = jsCtx;
            string jsObjectName = JSBindObjectName.IsEmpty() ? this.GetType().Name : JSBindObjectName;

            jsCtx.ExecuteScriptFunction(getJsFunctionString(jsObjectName), Array.Empty <object>());
        }
예제 #2
0
        public virtual void BindCtx4JS2App(IJSContextProvider jsCtx)
        {
            this.JsCtx = jsCtx;
            string appBindObjectName = AppBindObjectName.IsEmpty()? this.GetType().Name: AppBindObjectName;

            jsCtx.ExecuteScriptFunction(getJsFunctionString(appBindObjectName), Array.Empty <object>());
            jsCtx.BindVariable(appBindObjectName, this);
        }
예제 #3
0
        public void SynchronizeContext(string varname, IJSContextProvider provider)
        {
            IJSContext context = (IJSContext)_engine.GetVar(varname);

            if (context == null)
            {
                _engine.SetVar(varname, provider.GetContext());
            }
            else
            {
                if (!(context is IJSAPI <IJSContextProvider>))
                {
                    provider.SetContext(context);
                }
            }
        }
예제 #4
0
 public CommonAPI(IJSContextProvider jsCtx)
 {
     this.jsCtx = jsCtx;
 }
 public void BindCtx4App2Js(IJSContextProvider jsCtx)
 {
     throw new NotImplementedException();
 }