Ember观察内部动作处理程序时没有听到

时间:2014-06-26 15:07:50

标签: javascript ember.js handlebars.js

我有一个方法可以观察全局对象中的页码值。

当我更新页码时,观察值会调用一个方法向服务器发送操作。

这里当我将操作处理程序外部的观察文件设置为正常工作时,但是当我在操作处理程序中移动observes方法时,则在值更改时不会触发它。

此外,当我将操作处理程序放在操作处理程序之外时,它会抛出警告,表示操作之外的操作处理程序已弃用。

当我将方法放在动作处理程序中时,如何监听观察。

模板:

<script type="text/x-handlebars" data-template-name="index">
    <button {{action "updatePage"}}>Update Page Number</button>
</script>

app.js:

App.globalval = Ember.Object.create({
    page: 1
});

App.IndexRoute = Ember.Route.extend({
  globalValChange: function(){
     this.send('someFunction');
  }.observes('App.globalval.page'),
  actions:{ 
    someFunction: function(){
      console.log("in function to send request to server");
    },
    updatePage: function(){
      App.globalval.set('page', 5); 
    }                                           
  } 
});

JSBIN Link

1 个答案:

答案 0 :(得分:0)

动作哈希是为发送到控制器/路由的动作保留的,所以答案是你不能,也不应该。

计算属性/观察者/函数应该存在于扩展对象本身中。