2017-02-27 54 views
1

目前當ExtJS的觀看模式聲明:如何鏈接查看配置定義這樣的配置

config: { 
    foo: null 
} 

我已經把一個updateFoo方法來更新視圖模型:

updateFoo: function(nVal, oVal) { 
    this.viewModel.set('foo', nVal); 
} 

Quenstion:是有一種方法可以將fooconfigviewModel聲明相關聯嗎?

回答

1

我認爲你正在尋找的是「公式」的解決方案。 在視圖模型中,您可以編寫一個公式,在必要時直接在配置中更新foo。現在我告訴你如何在你的視圖模型/視圖加載時更新「foo」。

在視圖模型

formulas: { 
    example: { 
     get:function(get) { 
      this.getConfig().foo=/whatever value u want to update/; 
     } 
    } 
} 

下面寫公式如果我沒有得到它正確,那麼請ellaborate您的問題。

+0

你到達那裏是傳遞給構造函數在運行時配置的配置當你的組件被使用時,我提到的配置是不同的[Class config](http://docs.sencha.com/extjs/6.2.1/classic/Ext.Class.html#cfg-config) – bigopon

+0

好吧..我認爲你的問題是你如何通過雙向綁定直接通過viewmodel更新配置中的foo,這樣你就不需要調用updateF每次都是。我的意思是每當foo值被改變時,它應該被自動更新? –

+0

你以相反的方式理解它。這是將視圖可綁定屬性鏈接到viewModel,以便您不必每次都更新viewModel。當你的配件在其他配件中使用時會發生這種情況。 – bigopon

1

爲了實現這一點,必須與publishesbind

一起使用,對於這個問題的例子:

config: { 
    foo: null 
}, 

// This makes `foo` visible to `viewModel` 
publishes: { 
    foo: true 
}, 

bind: { 
    foo: '{vmFoo}' 
}