链接到动作参数在ember js中不起作用

时间:2014-04-03 04:13:53

标签: ember.js

嗨,我是非常新的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值为空。我在堆栈溢出中遵循一些解决方案,但不幸的是我没有得到任何东西。请提供一些解决方案

2 个答案:

答案 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上测试)。