Dom Spine.js从元素获取关联的控制器
我得到了一个html元素Dom Spine.js从元素获取关联的控制器,dom,spine.js,Dom,Spine.js,我得到了一个html元素和一个关联的spine.js控制器 class App.Sidebar extends Spine.Controller tag: 'aside' className: 'sidebar' 如何从元素中获取控制器?大概是这样的: con = $("aside.sidebar").spineController().someControllerMethod() 我使用的是jquery+spine.js。我浏览了控制器的源代码,但它似乎没有从元素()访问控制器的内
和一个关联的spine.js控制器
class App.Sidebar extends Spine.Controller
tag: 'aside'
className: 'sidebar'
如何从元素中获取控制器?大概是这样的:
con = $("aside.sidebar").spineController().someControllerMethod()
我使用的是jquery+spine.js。我浏览了控制器的源代码,但它似乎没有从元素()访问控制器的内置方法。我要做的是创建一个全局变量来保存控制器,以便我可以从其他位置访问它:
app = new App()
# inside of App constructor:
@foo_widget = new App.FooWidgetController()
# from other non-spine code:
app.foo_widget.method()
另一个选项是使用jquery的data()方法自己进行关联:
谢谢!在第二个选项中,它必须是@el.data“controller”,此
class App.FooWidgetController
constructor: ->
super
@el.data 'controller', this
# from other code:
$('#widget').data('controller').method()