本文整理汇总了Golang中github.com/gopherjs/gopherjs/js.Object.Get方法的典型用法代码示例。如果您正苦于以下问题:Golang Object.Get方法的具体用法?Golang Object.Get怎么用?Golang Object.Get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/gopherjs/gopherjs/js.Object
的用法示例。
在下文中一共展示了Object.Get方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: ok
func ok(kp *js.Object) {
print("ok")
print(kp)
fmt.Printf("%d\n", kp.Get("byteLength").Int())
x := tmp.Call("view", kp)
log.Println(x)
}
示例2: copyStruct
func copyStruct(dst, src js.Object, typ Type) {
fields := jsType(typ).Get("fields")
for i := 0; i < fields.Length(); i++ {
name := fields.Index(i).Index(0).Str()
dst.Set(name, src.Get(name))
}
}
示例3: Register
func (d *Domain) Register(endpoint string, handler *js.Object) *js.Object {
cb := core.NewID()
var p promise.Promise
go func() {
// From the want wrapper pull out the types they defined,
// and pass them down into the core.
h := handler.Get("types")
tmp := h.Interface()
types, hasTypes := tmp.([]interface{})
// handler can either be:
// 1. an object that contains "types" and "fp" attributes.
// 2. a naked function, in which case we tell the core that it doesn't
// care about types.
handlerFunction := handler
handlerTypes := []interface{}{nil}
if hasTypes {
handlerFunction = handler.Get("fp")
handlerTypes = types
}
if err := d.coreDomain.Register(endpoint, cb, handlerTypes); err == nil {
d.app.registrations[cb] = handlerFunction
p.Resolve(nil)
} else {
p.Reject(err)
}
}()
return p.Js()
}
示例4: stringable
func stringable(t *js.Object) bool {
switch t.Get("kind").Int() {
case boolKind, int8Kind, int16Kind, int32Kind, intKind, uint8Kind, uint16Kind, uint32Kind, uintKind, int64Kind, uint64Kind, float32Kind, float64Kind, stringKind:
return true
}
return false
}
示例5: Slice3
func (v Value) Slice3(i, j, k int) Value {
var (
cap int
typ Type
s *js.Object
)
switch kind := v.kind(); kind {
case Array:
if v.flag&flagAddr == 0 {
panic("reflect.Value.Slice: slice of unaddressable array")
}
tt := (*arrayType)(unsafe.Pointer(v.typ))
cap = int(tt.len)
typ = SliceOf(tt.elem)
s = jsType(typ).New(v.object())
case Slice:
typ = v.typ
s = v.object()
cap = s.Get("$capacity").Int()
default:
panic(&ValueError{"reflect.Value.Slice3", kind})
}
if i < 0 || j < i || k < j || k > cap {
panic("reflect.Value.Slice3: slice index out of bounds")
}
return makeValue(typ, js.Global.Call("$subslice", s, i, j, k), v.flag&flagRO)
}
示例6: QuerySelectorAll
// QuerySelectorAll returns the result of querySelectorAll on an object
func QuerySelectorAll(o *js.Object, sel string) []*js.Object {
if sad := o.Get("querySelectorAll"); sad == nil || sad == js.Undefined {
return nil
}
return DOMObjectToList(o.Call("querySelectorAll", sel))
}
示例7: ConsoleEvent
func ConsoleEvent(name string, event *jquery.Event, data *js.Object) {
page := data.Get("toPage").String()
if page == "[object Object]" {
page = data.Get("toPage").Call("jqmData", "url").String()
}
console.Log("Event: %s, Current page: %s", name, page)
}
示例8: printValueAt
func printValueAt(e js.Object, name string, value string) {
targets := []js.Object{}
if e.Get("name").Str() == name {
targets = append(targets, e)
}
query := fmt.Sprintf("*[name=\"%s\"]", html.EscapeString(name))
es := e.Call("querySelectorAll", query)
for i := 0; i < es.Length(); i++ {
targets = append(targets, es.Index(i))
}
if e.Get("dataset").Get(toDatasetProp(datasetAttrKey)).Str() == name {
targets = append(targets, e)
}
query = fmt.Sprintf(
"*[data-%s=\"%s\"]",
html.EscapeString(datasetAttrKey),
html.EscapeString(name))
es = e.Call("querySelectorAll", query)
for i := 0; i < es.Length(); i++ {
targets = append(targets, es.Index(i))
}
for _, e := range targets {
if e.Call("hasAttribute", "value").Bool() {
e.Set("value", value)
} else {
e.Set("textContent", value)
}
}
}
示例9: copyStruct
func copyStruct(dst, src *js.Object, typ Type) {
fields := jsType(typ).Get("fields")
for i := 0; i < fields.Length(); i++ {
prop := fields.Index(i).Get("prop").String()
dst.Set(prop, src.Get(prop))
}
}
示例10: TriggerBindEvent
// TriggerBindEvent connects the giving event with the provided dom target.
func (dm *DOMRenderer) TriggerBindEvent(event *gjs.Object, root *gjs.Object, source *trees.Event) {
target := event.Get("target")
children := root.Call("querySelectorAll", source.Target())
if children == nil || children == gjs.Undefined {
return
}
kids := js.DOMObjectToList(children)
var match bool
for _, item := range kids {
if item != target {
continue
}
match = true
break
}
// if we match then run the listeners registered.
if match {
dispatch.Dispatch(trees.EventBroadcast{
EventID: source.EventID,
Event: trees.NewWrapperEvent(event),
})
}
}
示例11: NewProxy
func NewProxy(proxyObj *js.Object) *Proxy {
p := new(Proxy)
p.o = proxyObj
if proxyObj.String() != "undefined" {
p.Settings = proxyObj.Get("settings")
}
return p
}
示例12: setMouseCursorFromEvent
func setMouseCursorFromEvent(e *js.Object) {
scale := currentUI.scale
rect := canvas.Call("getBoundingClientRect")
x, y := e.Get("clientX").Int(), e.Get("clientY").Int()
x -= rect.Get("left").Int()
y -= rect.Get("top").Int()
currentInput.setMouseCursor(int(float64(x)/scale), int(float64(y)/scale))
}
示例13: NewContextMenus
func NewContextMenus(contextMenusObj *js.Object) *ContextMenus {
c := new(ContextMenus)
c.o = contextMenusObj
if c.o.String() != "undefined" {
c.ACTION_MENU_TOP_LEVEL_LIMIT = contextMenusObj.Get("ACTION_MENU_TOP_LEVEL_LIMIT").Int()
}
return c
}
示例14: handleInputKeyUp
func handleInputKeyUp(event *js.Object) {
if keycode := event.Get("keyCode").Int(); keycode == 13 {
// user press enter key
w := word.Get("value").String()
word.Call("blur")
go httpGetWordJson(w)
}
}
示例15: New
func New(el *js.Object) *Canvas {
return &Canvas{
Element: el,
ctx: el.Call("getContext", "2d"),
Width: el.Get("width").Int(),
Height: el.Get("height").Int(),
}
}