首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spine.js从元素获取关联的控制器

Spine.js从元素获取关联的控制器
EN

Stack Overflow用户
提问于 2013-07-22 22:03:28
回答 1查看 158关注 0票数 1

我得到了一个带有相关spine.js控制器的html元素aside.sidebar

代码语言:javascript
复制
class App.Sidebar extends Spine.Controller
  tag: 'aside'
  className: 'sidebar'

如何从元素中获取控制器?如下所示:

代码语言:javascript
复制
con = $("aside.sidebar").spineController().someControllerMethod()

我使用的是jquery + spine.js。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-23 00:46:24

我看过控制器的源代码,看起来没有一种内置的方法可以从元素(https://github.com/spine/spine/blob/dev/src/spine.coffee#L482)访问控制器。我所做的是创建一个全局变量来保存控制器,这样我就可以从其他地方访问它:

代码语言:javascript
复制
app = new App()

# inside of App constructor:
@foo_widget = new App.FooWidgetController()

# from other non-spine code:
app.foo_widget.method()

另一种选择是使用jquery的data()方法自己进行关联:

代码语言:javascript
复制
class App.FooWidgetController
  constructor: ->
    super
    @el.data 'controller', this

# from other code:
$('#widget').data('controller').method()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17789597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档