VUEのWPFにおけるMvvMモード異同
VUEとWPFを学んで、またそれらはすべてMvvmモードを採用したため、ここで1つの簡単な対比記録をして、記憶しやすいです
1.Vueの意味でのViewModelとViewは通常、new VueによってView Modelを作成し、elはページViewのidを指定して関連付けられ、dataはjsonデータをバインディングのために提供し、methodsは関数をバインディングのために提供する.コードは次のとおりです.
WPFでは分離されており、ViewModelには様々な属性が含まれており、バックグラウンドコードでDataContextに関連付けることもできるし、フレームワークでViewModelをViewModelLocatorに登録することに同意し、ページでDataContext参照を行い、その後、BindingでViewModelで定義された各属性データをバインドし、Commandで定義された各コマンドをバインドすることもできる.コードは次のとおりです.
wpfでの使用と定義はそれぞれ
6.Vueが提供するキーの別名がより豊富
1.Vueの意味でのViewModelとViewは通常、new VueによってView Modelを作成し、elはページViewのidを指定して関連付けられ、dataはjsonデータをバインディングのために提供し、methodsは関数をバインディングのために提供する.コードは次のとおりです.
site : {{site}}
url : {{url}}
{{details()}}
var vm = new Vue({
el: '#vue_det',
data: {
site: " ",
url: "www.runoob.com",
alexa: "10000"
},
methods: {
details: function() {
return this.site + " - , !";
}
}
})
WPFでは分離されており、ViewModelには様々な属性が含まれており、バックグラウンドコードでDataContextに関連付けることもできるし、フレームワークでViewModelをViewModelLocatorに登録することに同意し、ページでDataContext参照を行い、その後、BindingでViewModelで定義された各属性データをバインドし、Commandで定義された各コマンドをバインドすることもできる.コードは次のとおりです.
2.Vue中的v-bind
类似于WPF中的Binding,用于内容绑定,Vue中可以缩写为:,后面紧跟参数名称=‘’参数值‘’(区别,v-model是紧跟=‘’参数值‘’)。而WPF中没有缩写,在控件属性中通过{}绑定内容,并指定Binding及其绑定内容的路径,它通常是ViewModel中定义的属性。
3.Vue中的v-on
类似于WPF中的Command,用于事件绑定,Vue中可以缩写为@,后面紧跟事件类型名称。而WPF中没有缩写,在控件默认的事件中触发命令,也可以通过事件转命令来触发命令。
4.Vue中的ViewModel在页面定义,其数据由json组成,也就是键值对,在view页面使用时通过指定键名来进行绑定。标签外部内容绑定方式为{{键名}},标签内部绑定方式为v-model="键名"。而WPF中并非json格式,支持各种类型的属性,绑定通常在控件内部,绑定方式为{Binding Path=属性名}。
5.Vue中的过滤器类似于WPF中的值转换器,用于对原始的数据进行一些过滤转换后再显示,这里Vue中的使用和定义方式分别为
{{message | reverse | uppercase}}
Vue.filter('reverse', function (value) {
return value.split('').reverse().join('')
})
wpfでの使用と定義はそれぞれ
Binding="{Binding Path=Type, Converter={StaticResource ToTypeNow}}"
public class ThicknessSplitConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
//...
return value;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
6.Vueが提供するキーの別名がより豊富
.enter.tab.delete
(「削除」と「バックアウト」キーをキャプチャ).esc.space.up.down.left.right.ctrl.alt.shift.meta ,
、 WPF exit、focus
7.
Vueのうち
WPFのユーザコントロールと同様にVueを通過する.コンポーネント(コンポーネント名、コンポーネント内容)はグローバルコンポーネントを定義し、ローカルコンポーネントはnew Vueの内部で定義され、Viewページでコンポーネント名>呼び出しを行います.WPFでは、グローバルとローカルの概念はなく、ユーザーコントロールを新規作成し、Viewページの宣言部分にコマンドコントロールリファレンスを追加した後、呼び出します.