emberjs从onclick调用操作

emberjs call action from onclick

本文关键字:操作 调用 onclick emberjs      更新时间:2023-09-26

我有一个模型,它将返回一个文本块,我想要一个警报,它将定义该文本块中的特定单词。因此,我想在特定单词旁边添加一个链接,该链接将调用创建警报的操作。

我不能使用手柄操作方法,因为页面已经被渲染了。所以当我推广我的模型时,我想包括这样的东西:

<button id='definition' onclick='newAlert()'>i</button>

在一个文本块中可能有很多单词需要定义,所以我也需要发送一个标识符。

我的问题是,有可能以这种方式采取行动吗?

谢谢你的帮助。

当需要使用纯js从DOM访问ember实体时,例如当需要处理onclick-js事件并将其委托给ember实体,可以执行类似的操作

http://emberjs.jsbin.com/mimuwale/1/edit

js

App = Ember.Application.create();
function getView($el){
  return Ember.View.views[$el.closest(".ember-view").attr("id")];
}
function newAlert(el){
  getView($(el)).get('controller').send('newAlert',el.id);
}
App.IndexView=Ember.View.extend();
App.IndexController=Ember.Controller.extend({
  actions:{
    newAlert:function(buttonId){alert('clicked button:'+buttonId);}
  }
});

hbs

<script type="text/x-handlebars" data-template-name="index">
  <button id='definition' onclick='newAlert(this)'>test</button>
</script>