嗨,我是非常新的ember js。我在模板中的链接到动作上传递动作参数(id),但我没有在我的控制器中获取值。
我的模板代码如下:
的index.html:
<script type="text/x-handlebars" data-template-name="search">
{{#each model.results}}
// here i pass id value along with action
{{#link-to 'profile' id action="profileinfo"}}
</script>
app.js:
App.SearchController = Ember.ObjectController.extend({
id: '',
actions:{
profileinfo: function(id){
// Here i access id value like this
console.log(id);
var id = this.get('id');})
当我点击链接动作转到Searchcontroller,但我得到id值为空。我在堆栈溢出中遵循一些解决方案,但不幸的是我没有得到任何东西。请提供一些解决方案
答案 0 :(得分:5)
我不明白您为什么要使用{{#link-to}}
帮助程序来触发控制器上的操作。也许你可以简单地使用{{action}}
助手?
如果你尝试这样做,它会起作用吗?
<button type="button" {{action "profileinfo" id}}>Click me !</button>
从那里,你的console.log(id);
应该得到你的价值。
修改强>
也适用于<a>
代码
<a href="#" {{action "profileinfo" id}}>Click me !</a>
答案 1 :(得分:0)
我为这样做创造了受欢迎的插件:
{{#link-to 'profile' id invokeAction='profileinfo'}}
只需安装即可:
ember install
ember-link-action
如果您喜欢,请留下明星,如果您觉得遗失任何内容,请留下反馈。 :)它适用于Ember 1.13和2.X(在Travis CI上测试)。