違い: 1. VUE2.0 では、すべてのコードをルート要素でラップする必要がありますが、VUE1.0 ではそうではありません。 2. コンポーネントはさまざまな方法で定義されます。 3. ライフサイクル機能が異なります。 4. Vue2.0 では、vue1.0 の組み込みフィルタがすべて削除されました。vue2.0 でフィルタを使用するにはカスタマイズする必要がありますが、vue1.0 ではカスタマイズが必要ありません。
このチュートリアルの動作環境: Windows7 システム、vue2.9.6 バージョン、DELL G3 コンピューター。
1. 各コンポーネント テンプレートで、
VUE1.0 をサポートしなくなったフラグメント コードは次のとおりです:
<template> <h3>我是组件</h3><strong>我是加粗标签</strong> </template>
VUE2.0: すべてのコードをラップするルート要素が必要です
<template id="aaa"> <div> <h3>我是组件</h3> <strong>我是加粗标签</strong> </div> </template>
2. コンポーネントを定義するさまざまな方法
VUE1 の方法.0 はコンポーネントを定義します:
Vue.extend このメソッドは 2.0 で利用できますが、いくつかの変更があります
Vue.component(组件名称,{ 在2.0继续能用 data(){} methods:{} template: });
VUE2.0 でコンポーネントを定義する方法はより簡単です
var Home={ template:'' -> 相当于Vue.extend() };
3. ライフ サイクルの変更
##1. 1.0 のライフ サイクル:説明 | |
---|---|
created | |
beforeCompile | |
compiled | |
ready | |
attached | |
detached | |
beforeDestory | |
#destoryed | |
# #2. 2.0 のライフサイクル
beforeCreate | |
---|---|
##created | コンポーネントの作成は完了しましたが、DOM はまだ計算されていません | #mounted
##更新前 | |
updated | |
activated | |
##deactivated | キープアライブの場合、コンポーネントが削除されたときに呼び出されます |
#beforeDestory | コンポーネントが破棄される前 |
破棄 | コンポーネントが破棄された後 |
下图是官方关于2.0生命周期的流程图: 借用一位大神的图来总结他们的变化: 2.0生命生命周期变化感觉变得更加语义化一点(有规律可寻,更好记了),而且增加了beforeUpdate、updated、activated、deactivated,删除了attached、detached。 四、过滤器 2.0将1.0所有自带的过滤器都删除了,也就是说,在2.0中,要使用过滤器,则需要我们自己编写,以下是一个自定义过滤器示例, Vue.filter('toDou',function(n,a,b){ return n<10?n+a+b:''+n; }); ログイン後にコピー 如果想展示JSON数据,不需要调用过滤器了,框架会自动帮我们解析出来; 之前调用: {{msg | mimi '12' '5'}} 现在调用: {{msg | mimi('12','5')}} ログイン後にコピー 五、循环 刚学vue1.0的人可能会碰到一个错误信息: 这里提示我们要使用tranck-by=”$index”,这个属性也可以帮我们提高for循环的性能,而在2.0,使用重复数据将不会报错,同时也去掉了一些隐式变量如:index、key,那我们如果要用到这些数据则可以通过ES6的语法来获取 v-for="(val,index) in array" ログイン後にコピー 关于整数循环,1.0的整数循环是从0开始的,2.0的整数循环是从1开始的,下面对比: //HTML代码 <ul id='box'> <li v-for='val in 5' v-text='val'></li> </ul> ログイン後にコピー 运行结果: 四、片段代码编写template的时候,2.0必须要用一个根元素(如p)将代码片段包裹起来,否则报错。 之前: 在1.0使用时完全没问题 <template> <h3>我是组件</h3><strong>我是加粗标签</strong> </template> 现在: 必须有根元素,包裹住所有的代码 <template id="aaa"> <div> <h3>我是组件</h3> <strong>我是加粗标签</strong> </div> </template> ログイン後にコピー 相关推荐:《vue.js教程》 以上がvuejs1.0と2.0の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
テンプレートのメソッドで定義された変数の使用
Vue (v3 ではなく v2) を使用するのは初めてで、テンプレート内 (メソッド内で定義された) で変数を使用しようとしています。私の簡略化されたコード: <templa...
から 2024-04-06 18:10:25
0
2
513
Vue3 Webコンポーネントのプロダクションビルドの問題を解決する
vue2web コンポーネントを vue3 に移行しようとしていますが、運用用のビルドを作成するときに問題が発生します。 --targetwc を指定して vue-cli を使用し...
から 2024-04-06 12:43:37
0
1
473
Vueでルートプロパティを設定する方法はありますか?
ページ内の特定のタブ this.$router.push({name:"AdminNotifications",params:{tab:"reques...
から 2024-04-06 11:35:59
0
1
456
関連トピック
詳細>
|