Ember View:属性和/或功能?什么是最好的?

时间:2012-12-01 18:12:30

标签: ember.js

我对Ember.View中的自定义属性和函数有一个非常简单的问题。我有一个搜索框。如果触摸touchmove,则将向左边距添加10像素。听起来很愚蠢?是的,但它只是一个例子;)

App.SearchboxView = Ember.View.extend({
    marginLeftProperty: function(){
        return parseInt(this.$().css("margin-left"));
    }.property(),

    marginLeftFunction: function(){
        return parseInt(this.$().css("margin-left"));
    },

    touchMove: function(e) {
        console.log(this.get("marginLeftProperty"));
        console.log(this.get("marginLeftFunction"));
        old_margin = parseInt(this.$().css("margin-left"));
        new_margin = old_margin + 10;
        this.$().css("margin-left", new_margin+"px"); 
    }
});

我想通过单独的函数或属性访问边距。因为我不确定我是否尝试过这两种方法。功能和财产。我使用console.log来检查什么效果最好。


console.log(this.get("marginLeftProperty"));

拖动搜索框多次返回“0”,但边距正在变化。


console.log(this.get("marginLeftFunction"));

这一个总是返回函数本身,而不是值。

那么访问此值的“最佳”方式是什么?是否有一个技巧来运行函数而不是返回它?或者我可以手动更新属性(我认为它是由ember缓存的,因为它返回初始值0但在更改边距后不会更新)

0 个答案:

没有答案