0
我在視圖中有一個方法,就像下面一樣。如何知道某個方法是由我的代碼或從觀察者發出的呼叫
testMethod : function() {
//run code
}.observes('property1')
該方法可以直接通過調用或由property1觀察者觸發來觸發。是否有可能知道方法內部,觸發哪種方式。謝謝
我在視圖中有一個方法,就像下面一樣。如何知道某個方法是由我的代碼或從觀察者發出的呼叫
testMethod : function() {
//run code
}.observes('property1')
該方法可以直接通過調用或由property1觀察者觸發來觸發。是否有可能知道方法內部,觸發哪種方式。謝謝
我已經無意中發現了這件事,並且發現沒有辦法這麼做。最後我做這樣的事情:
testMethod : function() {
//run code
},
propertyObserver : function(){
this.testMethod();
}.observes('property1')
當觀察者被調用時,它接收到2個參數:控制器對象,並已發生變化,引發觀察者觀察到的財產。
所以,你可以檢查它像這樣:
testMethod : function() {
if(arguments.length === 2 && arguments[1] === 'property1'){
// you're triggered by property observer
} else {
// triggered directly
}
}.observes('property1')
這當然,可以通過來電顯示欺騙..