探検
Vue vs React vs Angular
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 5f9f-WCtl)
2018/12/21(金) 21:37:36.86ID:NZqrEm960実際どうなん?
Vue
https://jp.vuejs.org/
React
https://reactjs.org/
Angular
https://angular.io/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
800デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/08(金) 18:49:38.83ID:oNzvowiX0 >>799
> 気になって覗きに来たら案の定。。うーん、そこから先は話長くなるぞ
jQueryと同じことをするのに、話が長くなるんだへーw
ま結論な。jQueryが3行の所、Vueだと12行になが〜くなりました。
テンプレートのところを除いたとしても7行。jQueryの倍
[jQuery] 3行
$('.my-component [name="switch"]').change(function() {
$(this).closest('.my-component').toggleClass('active', this.checked);
});
[Vue] 12行
Vue.component('my-component',{
template:`
<div class="my-component" :class="{active:isActive}">
<input type="checkbox" v-model="isActive">{{val}}
</div>
`,
data:function(){return{
isActive:false
}},
props:["val"]
})
new Vue({el: '#app'})
> 気になって覗きに来たら案の定。。うーん、そこから先は話長くなるぞ
jQueryと同じことをするのに、話が長くなるんだへーw
ま結論な。jQueryが3行の所、Vueだと12行になが〜くなりました。
テンプレートのところを除いたとしても7行。jQueryの倍
[jQuery] 3行
$('.my-component [name="switch"]').change(function() {
$(this).closest('.my-component').toggleClass('active', this.checked);
});
[Vue] 12行
Vue.component('my-component',{
template:`
<div class="my-component" :class="{active:isActive}">
<input type="checkbox" v-model="isActive">{{val}}
</div>
`,
data:function(){return{
isActive:false
}},
props:["val"]
})
new Vue({el: '#app'})
801デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/08(金) 18:52:05.37ID:oNzvowiX0 それに一番ひどいのは、やっぱりmy-componentのdivの中身を
デザイナがいじろうとしたら、JavaScriptファイルを修正しなければ
ならなくなるってところなんだよね。
DOMとコードが密接に結びついちゃってる。
デザイナがいじろうとしたら、JavaScriptファイルを修正しなければ
ならなくなるってところなんだよね。
DOMとコードが密接に結びついちゃってる。
802デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/08(金) 18:56:00.97ID:oNzvowiX0 jQueryの場合、JavaScriptのコードとDOMの構造は結ぶていてなくて
結びついているのは、.my-componentというクラス名と
input name=switchだけ。だからDOMの構造をどんなに変えても
クラス名とそういう名前のinputがあればいい
コードとDOMの構造が分離されている
結びついているのは、.my-componentというクラス名と
input name=switchだけ。だからDOMの構造をどんなに変えても
クラス名とそういう名前のinputがあればいい
コードとDOMの構造が分離されている
803デフォルトの名無しさん (ワッチョイ a701-w6xA)
2019/03/08(金) 19:11:44.53ID:/TYC9ex30 >>801
やっぱり全く理解できてないじゃん。最初の話に戻すぞ。
最初の例ならスクリプトは、
new vue({data:{isActive:false}})
これだけ。君が分からなくて動かん!!とか騒いでた奴。君のその3行のスクリプトと比べてみなよ。
次に、まあ君はvue知らんからしょうがないがテンプレートは実務では当然外部に持つ。単一ファイルコンポーネントでググれ。
これで聞かれた事は答えたって事で俺からも質問していいか?
さっきからコンポーネントと言ってるが、君のはコンポーネントじゃないだろ。単なるコピペでカプセル化も局所化も無い。サンプルである事を割り引いてもコンポーネントと呼べる内容じゃない、と思うんだが、マジでどう思ってるの?
やっぱり全く理解できてないじゃん。最初の話に戻すぞ。
最初の例ならスクリプトは、
new vue({data:{isActive:false}})
これだけ。君が分からなくて動かん!!とか騒いでた奴。君のその3行のスクリプトと比べてみなよ。
次に、まあ君はvue知らんからしょうがないがテンプレートは実務では当然外部に持つ。単一ファイルコンポーネントでググれ。
これで聞かれた事は答えたって事で俺からも質問していいか?
さっきからコンポーネントと言ってるが、君のはコンポーネントじゃないだろ。単なるコピペでカプセル化も局所化も無い。サンプルである事を割り引いてもコンポーネントと呼べる内容じゃない、と思うんだが、マジでどう思ってるの?
804デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/08(金) 19:14:42.43ID:oNzvowiX0 >>803
> new vue({data:{isActive:false}})
それだけだと、どれと結びついてるのか(=セレクタ)その情報がないだろ。
セレクタを省略して良いんだったら、jQueryだってこの一行だよ。
toggleClass('active', this.checked);
> new vue({data:{isActive:false}})
それだけだと、どれと結びついてるのか(=セレクタ)その情報がないだろ。
セレクタを省略して良いんだったら、jQueryだってこの一行だよ。
toggleClass('active', this.checked);
805デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/08(金) 19:16:38.22ID:oNzvowiX0 いや、値を変えるコードすら無いかw
jQueryだとこれだなw Vueより断然短い
'active'
jQueryだとこれだなw Vueより断然短い
'active'
806デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/08(金) 19:23:09.87ID:oNzvowiX0 > 最初の例ならスクリプトは、
> new vue({data:{isActive:false}})
> これだけ。
これだけで動く!(=動かない)
これなんて詐欺?w
> new vue({data:{isActive:false}})
> これだけ。
これだけで動く!(=動かない)
これなんて詐欺?w
807デフォルトの名無しさん (ワッチョイ a701-w6xA)
2019/03/08(金) 19:25:20.00ID:/TYC9ex30 >>804
がーん、ここまで書いても分からんか。それ動作せんだろ。。自分で言った様に動作するコードで比較しようぜ!!
それと、俺は君を責めてる訳じゃなんだぜ。長年jQueryには世話になったから、優秀なライブラリだとよく知ってる。でもここはvue react angularスレだろ。jQueryはややすれ違いなんだよ。でもまあお互いの長所短所を比較しつつ、まったり雑談しようや。
がーん、ここまで書いても分からんか。それ動作せんだろ。。自分で言った様に動作するコードで比較しようぜ!!
それと、俺は君を責めてる訳じゃなんだぜ。長年jQueryには世話になったから、優秀なライブラリだとよく知ってる。でもここはvue react angularスレだろ。jQueryはややすれ違いなんだよ。でもまあお互いの長所短所を比較しつつ、まったり雑談しようや。
808デフォルトの名無しさん (ワッチョイ a701-w6xA)
2019/03/08(金) 19:26:43.19ID:/TYC9ex30 >>806
wwワザとか?vue本体ロードしなはれよ。
wwワザとか?vue本体ロードしなはれよ。
809デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/08(金) 19:29:20.37ID:oNzvowiX0810デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/08(金) 19:30:11.51ID:oNzvowiX0811デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/08(金) 19:30:33.50ID:oNzvowiX0 これだけって、どこまでがこれだけなんだ?
動作しないコードまでがこれだけか。
動作しないコードまでがこれだけか。
812デフォルトの名無しさん (ドコグロ MM97-w6xA)
2019/03/08(金) 19:35:01.38ID:YjtKBzOFM はあ、、分かった分かった。最初の例で動く奴上げてやるよ。出先でだから1時間後な。
で、その間に俺の質問にも答えてくれ。君のコードは再利用できないし、コンポーネントではない。どう再利用するつもりなの?そのむき出しのmy-conponentで。
で、その間に俺の質問にも答えてくれ。君のコードは再利用できないし、コンポーネントではない。どう再利用するつもりなの?そのむき出しのmy-conponentで。
813デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/08(金) 19:37:01.18ID:oNzvowiX0 見ての通りjQueryだと、HTMLがJavaScriptに全く汚染されていない。
JavaScriptの臭いがないクリーンなHTMLなんだよ。だから分業ができる。
<div class="my-component">
<input type="checkbox" name="switch">switch1
</div>
Vue使ったら、HTMLが謎の汚染(HTML書いてる人には意味不明なもの)が発生し
1. :class="{active:isActive}"
2. v-model="isActive"
HTMLコードはJavaScriptファイルに移動してしまうし、
上のコードだけじゃ足りないから
data:function(){
return{
isActive:false
}
},
props:["val"]
というコードが追加で必要になるし。
もちろん .my-componentと結びつけるために
Vue.component('my-component',{
という一行が必要になるし、HTMLはmy-componentとかいうHTML書いてる人は知らないタグを使うように強制され
属性が名前になるんですよーとか、新たなルールを押し付けられることになってる。
JavaScriptの臭いがないクリーンなHTMLなんだよ。だから分業ができる。
<div class="my-component">
<input type="checkbox" name="switch">switch1
</div>
Vue使ったら、HTMLが謎の汚染(HTML書いてる人には意味不明なもの)が発生し
1. :class="{active:isActive}"
2. v-model="isActive"
HTMLコードはJavaScriptファイルに移動してしまうし、
上のコードだけじゃ足りないから
data:function(){
return{
isActive:false
}
},
props:["val"]
というコードが追加で必要になるし。
もちろん .my-componentと結びつけるために
Vue.component('my-component',{
という一行が必要になるし、HTMLはmy-componentとかいうHTML書いてる人は知らないタグを使うように強制され
属性が名前になるんですよーとか、新たなルールを押し付けられることになってる。
814デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/08(金) 19:39:05.43ID:oNzvowiX0 >>812
> で、その間に俺の質問にも答えてくれ。君のコードは再利用できないし、コンポーネントではない。どう再利用するつもりなの?そのむき出しのmy-conponentで。
普通に再利用できてるんだが?
そもそもjQueryのコードは状態を保持していない。
わかるか?jQueryのコードには状態がない。
状態は、HTMLのタグに存在している。
だからHTMLのタグの分だけインスタンスが存在しているようなもので、
普通に再利用できる。
> で、その間に俺の質問にも答えてくれ。君のコードは再利用できないし、コンポーネントではない。どう再利用するつもりなの?そのむき出しのmy-conponentで。
普通に再利用できてるんだが?
そもそもjQueryのコードは状態を保持していない。
わかるか?jQueryのコードには状態がない。
状態は、HTMLのタグに存在している。
だからHTMLのタグの分だけインスタンスが存在しているようなもので、
普通に再利用できる。
815デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/08(金) 19:43:49.07ID:oNzvowiX0 Vueの場合、コンポーネントが状態を持ってしまってる。
isActiveという変数のことな。
状態を持ったisActiveを共有することは出来ないから、
新た無いHTMLのタグを作らければいけなくなってしまっている。
そしてisActiveという事実上のローカル変数を参照するために、
JavaScript側でHTMLを書くしかなくなってしまっている
HTMLがガッツリJavaScriptと結びついてしまっているわけだ
isActiveという変数のことな。
状態を持ったisActiveを共有することは出来ないから、
新た無いHTMLのタグを作らければいけなくなってしまっている。
そしてisActiveという事実上のローカル変数を参照するために、
JavaScript側でHTMLを書くしかなくなってしまっている
HTMLがガッツリJavaScriptと結びついてしまっているわけだ
816デフォルトの名無しさん (ドコグロ MM97-w6xA)
2019/03/08(金) 20:00:52.98ID:YjtKBzOFM >>815
どこから突っ込めばいいんだ。。
> Vueの場合、コンポーネントが状態を持ってしまってる。
> isActiveという変数のことな。
コンポーネントは状態持つものだよ。いや認識の相違とかじゃなく普通に。そして隠蔽されるべきもの。
> 状態を持ったisActiveを共有することは出来ないから、
普通に参照できる。
> そしてisActiveという事実上のローカル変数を参照するために、
> JavaScript側でHTMLを書くしかなくなってしまっている
単一ファイルコンポーネント。
> HTMLがガッツリJavaScriptと結びついてしまっているわけだ
まさかと思うがサンプルのtemplate見て言ってる?結びつくの真意が分からんがjQueryも結びついてるだろ。
どこから突っ込めばいいんだ。。
> Vueの場合、コンポーネントが状態を持ってしまってる。
> isActiveという変数のことな。
コンポーネントは状態持つものだよ。いや認識の相違とかじゃなく普通に。そして隠蔽されるべきもの。
> 状態を持ったisActiveを共有することは出来ないから、
普通に参照できる。
> そしてisActiveという事実上のローカル変数を参照するために、
> JavaScript側でHTMLを書くしかなくなってしまっている
単一ファイルコンポーネント。
> HTMLがガッツリJavaScriptと結びついてしまっているわけだ
まさかと思うがサンプルのtemplate見て言ってる?結びつくの真意が分からんがjQueryも結びついてるだろ。
817デフォルトの名無しさん (ドコグロ MM97-w6xA)
2019/03/08(金) 20:09:37.29ID:YjtKBzOFM いいよ、もう少し分かりやすい質問しよう。
コンポーネントの要素として、簡単に テンプレート、css、jsがあるとしよう。3つ合わせてコンポーネントね。これらは外部から容易に参照できてはいけないし、干渉されてはいけない、複製も容易でないとダメ。
君のやり方で、my-componentをどうコンポーネント化するのか例示して欲しい。
コンポーネントの要素として、簡単に テンプレート、css、jsがあるとしよう。3つ合わせてコンポーネントね。これらは外部から容易に参照できてはいけないし、干渉されてはいけない、複製も容易でないとダメ。
君のやり方で、my-componentをどうコンポーネント化するのか例示して欲しい。
818デフォルトの名無しさん (アウアウエー Saaa-2Y9w)
2019/03/08(金) 20:19:23.19ID:QXTI5KI7a わかった
Delphi使え
Delphi使え
819デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/08(金) 20:35:47.91ID:oNzvowiX0820デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/08(金) 20:36:44.19ID:oNzvowiX0 >>816
> まさかと思うがサンプルのtemplate見て言ってる?結びつくの真意が分からんがjQueryも結びついてるだろ。
jQueryでは結びつかない。
<div class="my-component">
<input type="checkbox" name="switch">switch1
</div>
↑どこにjQuery関連のものがあるか言ってみな
> まさかと思うがサンプルのtemplate見て言ってる?結びつくの真意が分からんがjQueryも結びついてるだろ。
jQueryでは結びつかない。
<div class="my-component">
<input type="checkbox" name="switch">switch1
</div>
↑どこにjQuery関連のものがあるか言ってみな
821デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/08(金) 20:43:00.51ID:oNzvowiX0 > Vueの場合、コンポーネントが状態を持ってしまってる。
> isActiveという変数のことな。
訂正
Vueの場合、JavaScriptのコードが状態を持ってしまってる。
isActiveという変数のことな。
だからDOMとJavaScriptのインスタンスを一対一で
紐付けなければならなくなってる。密接に結びついている。
jQueryの場合JavaScriptのコードでは状態を持たないから、
DOMが一つだろうと複数だろうが、処理を共有化できる。
> isActiveという変数のことな。
訂正
Vueの場合、JavaScriptのコードが状態を持ってしまってる。
isActiveという変数のことな。
だからDOMとJavaScriptのインスタンスを一対一で
紐付けなければならなくなってる。密接に結びついている。
jQueryの場合JavaScriptのコードでは状態を持たないから、
DOMが一つだろうと複数だろうが、処理を共有化できる。
822デフォルトの名無しさん (オッペケ Src7-EzoF)
2019/03/08(金) 21:16:27.20ID:kvsQt7Fnr デザインやUI・UX、インタラクションが実装できないクソエンジニアどもがギャーギャー騒いでる
お前ら自分の無能さを披露して恥ずかしくねえの?
フロントやるならデザイン込みでUIくらいやれや
クソみたいなUI作ってんじゃねえよ
お前ら自分の無能さを披露して恥ずかしくねえの?
フロントやるならデザイン込みでUIくらいやれや
クソみたいなUI作ってんじゃねえよ
823デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/08(金) 21:19:25.25ID:oNzvowiX0 餅は餅屋
824デフォルトの名無しさん (ワッチョイ a701-chNm)
2019/03/08(金) 21:31:02.59ID:/TYC9ex30 ただいまー。という訳で最初の質問の答えアップだよ。
https://codepen.io/hinoragi/pen/jJmzJG
なんの質問か忘れてるだろうから、君の763の質問引用するよ。
>jQueryの方が少ないですね。
>嘘だと思うならこれ同じことを実際に動くのに必要な分、書いてみてください。
>$('.my-component [name="switch"]').change(function() {
> $(this).closest('.my-component').toggleClass('active', this.checked);
>});
http://jsfiddle.net/tk5yvs3g/
で答えがこれね。
new Vue({
el: '#app',
data: {isActive:false},
})
どう?まあこんな短いサンプルで比較するのもどうやねんってのは分かるけど質問にはちゃんと答えたよ。
html含めても確実にvueの方が少ないよね。
あと少しはvueやreact勉強しようよ。こんな短いサンプルの初期化方法すら知らなかった訳で、知らないからって全力否定するのはどうなのって思うぞ。
https://codepen.io/hinoragi/pen/jJmzJG
なんの質問か忘れてるだろうから、君の763の質問引用するよ。
>jQueryの方が少ないですね。
>嘘だと思うならこれ同じことを実際に動くのに必要な分、書いてみてください。
>$('.my-component [name="switch"]').change(function() {
> $(this).closest('.my-component').toggleClass('active', this.checked);
>});
http://jsfiddle.net/tk5yvs3g/
で答えがこれね。
new Vue({
el: '#app',
data: {isActive:false},
})
どう?まあこんな短いサンプルで比較するのもどうやねんってのは分かるけど質問にはちゃんと答えたよ。
html含めても確実にvueの方が少ないよね。
あと少しはvueやreact勉強しようよ。こんな短いサンプルの初期化方法すら知らなかった訳で、知らないからって全力否定するのはどうなのって思うぞ。
825デフォルトの名無しさん (オッペケ Src7-EzoF)
2019/03/08(金) 21:36:39.46ID:kvsQt7Fnr デザインできてUIUXできるようになれば引く手数多だぞ
ほんとフルスタックはほとんどいないから
年収は最低でも1000万はいく
ほんとフルスタックはほとんどいないから
年収は最低でも1000万はいく
826デフォルトの名無しさん (ワッチョイ dff2-uGU8)
2019/03/08(金) 21:40:42.36ID:NeLzfZqe0 静的なWebページがあってそこにちょっと動きを付ける程度ならjQueryがお手軽。まぁそうだな。
827デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/08(金) 22:04:03.93ID:oNzvowiX0828デフォルトの名無しさん (ブーイモ MM32-4xo3)
2019/03/08(金) 22:19:01.08ID:JZ/onRPtM 行数連呼しといてそりゃねえだろ
829デフォルトの名無しさん (アウアウウー Sac3-4dCE)
2019/03/08(金) 22:29:51.19ID:i92SBzwIa やっとReduxがちゃんと分かってきた
けどActionって関数にする必要ってなんのためなの?
constの定数でもいいような気もするんだけど
けどActionって関数にする必要ってなんのためなの?
constの定数でもいいような気もするんだけど
830デフォルトの名無しさん (ワッチョイ 1fd2-+5m7)
2019/03/08(金) 23:22:07.35ID:8MLFoUZt0 まさか知らないで叩いてたとはなぁ
831デフォルトの名無しさん (ワッチョイ 126a-gi2a)
2019/03/09(土) 00:19:50.47ID:/m10ZyJL0 UIUXが複雑化すればデザインと密接になり、デザインがやるべきことになる
昔ながらのショッピングカートならそうでもないかもしれんがw
昔ながらのショッピングカートならそうでもないかもしれんがw
832デフォルトの名無しさん (ワッチョイ a701-w6xA)
2019/03/09(土) 00:31:16.43ID:e9DsS9n/0 >>827
> my-componentの外に、置いたinputでも動くし、
> my-componentを複数置いたら、おかしくなるし、
> お前馬鹿なの? 少しは書く前に頭使ったら?
君は本当成長ないね。過ちは認めようよ。俺は君の質問に的確に答えたよ。同じ動作をするより短いサンプルだろ。その返しがこれって、そんなに負けが認められんか。だから駄目なんだよなあ。。
あと批判するなら少しはvueやreact勉強してから述べような。俺もまさかど素人が批判してるとは思わなかった。当然ある程度は知ってて、それ故に批判すると思うじゃん常識的に考えてさ。そこはすまん。思い至らなかった。次からはスルーするよ。おやすみぃ。
> my-componentの外に、置いたinputでも動くし、
> my-componentを複数置いたら、おかしくなるし、
> お前馬鹿なの? 少しは書く前に頭使ったら?
君は本当成長ないね。過ちは認めようよ。俺は君の質問に的確に答えたよ。同じ動作をするより短いサンプルだろ。その返しがこれって、そんなに負けが認められんか。だから駄目なんだよなあ。。
あと批判するなら少しはvueやreact勉強してから述べような。俺もまさかど素人が批判してるとは思わなかった。当然ある程度は知ってて、それ故に批判すると思うじゃん常識的に考えてさ。そこはすまん。思い至らなかった。次からはスルーするよ。おやすみぃ。
833デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 00:48:24.43ID:RYW8IiyE0 同じ動作してないよね。
my-componentの外に、置いたinputでも動くし、
my-componentを複数置いたら、おかしくなるし、
お前馬鹿なの? 少しは書く前に頭使ったら?
そんなにjQueryよりもVueの方が長くなることが許せないの?
事実を受け入れようよw
my-componentの外に、置いたinputでも動くし、
my-componentを複数置いたら、おかしくなるし、
お前馬鹿なの? 少しは書く前に頭使ったら?
そんなにjQueryよりもVueの方が長くなることが許せないの?
事実を受け入れようよw
834デフォルトの名無しさん (ワッチョイ 9732-4xo3)
2019/03/09(土) 00:53:19.31ID:zxiwPMOw0 なんでjQueryの動作を真似ることが前提なんだよ
言ってることめちゃくちゃじゃん
言ってることめちゃくちゃじゃん
835デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 00:58:02.98ID:RYW8IiyE0 > なんでjQueryの動作を真似ることが前提なんだよ
お前言ってることがおかしい。
$('.my-component [name="switch"]').change(function() {
$(this).closest('.my-component').toggleClass('active', this.checked);
});
これと同じことを実現するという話で、
これというのは、.my-component(クラスなのだから当然)中の [name="switch"]'からの
イベントで.my-component に active クラスをつけるというものなんだから、
最低限の条件を満たしてない
お前言ってることがおかしい。
$('.my-component [name="switch"]').change(function() {
$(this).closest('.my-component').toggleClass('active', this.checked);
});
これと同じことを実現するという話で、
これというのは、.my-component(クラスなのだから当然)中の [name="switch"]'からの
イベントで.my-component に active クラスをつけるというものなんだから、
最低限の条件を満たしてない
836デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 00:58:26.63ID:RYW8IiyE0 訂正
これというのは、.my-component(クラスなのだから当然複数ある)中の [name="switch"]'からの
これというのは、.my-component(クラスなのだから当然複数ある)中の [name="switch"]'からの
837デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 01:00:24.50ID:RYW8IiyE0 .my-component(クラスなのだから当然)中の [name="switch"]'からの
イベントで.my-component に active クラスをつける
というお題で、複数対応していなければ突っ込まれるのは当たり前だし
お題を満たせばVueのコードはこんなに長くなる。
Vue.component('my-component',{
template:`
<div class="my-component" :class="{active:isActive}">
<input type="checkbox" v-model="isActive">{{val}}
</div>
`,
data:function(){
return{
isActive:false
}
},
props:["val"]
})
new Vue({el: '#app'})
イベントで.my-component に active クラスをつける
というお題で、複数対応していなければ突っ込まれるのは当たり前だし
お題を満たせばVueのコードはこんなに長くなる。
Vue.component('my-component',{
template:`
<div class="my-component" :class="{active:isActive}">
<input type="checkbox" v-model="isActive">{{val}}
</div>
`,
data:function(){
return{
isActive:false
}
},
props:["val"]
})
new Vue({el: '#app'})
838デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 01:02:17.14ID:RYW8IiyE0 しかもこれ
<div class="my-component" :class="{active:isActive}">
<input type="checkbox" v-model="isActive">{{val}}
</div>
という固定のDOM構造にしか使えないので
jQueryよりも劣っている
jQueryだとHTML(DOM構造)を自由に変更できる。
以下のどのように変更しようとも、JavaScriptのコードは変更の必要はない
<div class="my-component">
<input type="checkbox" name="switch">switch1
<p>ここはswitch1です</p>
</div>
<div class="my-component">
<input type="checkbox" name="switch">switch2
<select>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
</div>
<div class="my-component">
<input type="checkbox" name="switch">switch3
<img src="かっこいい画像.gif">
</div>
<div class="my-component" :class="{active:isActive}">
<input type="checkbox" v-model="isActive">{{val}}
</div>
という固定のDOM構造にしか使えないので
jQueryよりも劣っている
jQueryだとHTML(DOM構造)を自由に変更できる。
以下のどのように変更しようとも、JavaScriptのコードは変更の必要はない
<div class="my-component">
<input type="checkbox" name="switch">switch1
<p>ここはswitch1です</p>
</div>
<div class="my-component">
<input type="checkbox" name="switch">switch2
<select>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
</div>
<div class="my-component">
<input type="checkbox" name="switch">switch3
<img src="かっこいい画像.gif">
</div>
839デフォルトの名無しさん (ワッチョイ 1202-LbCk)
2019/03/09(土) 01:02:49.95ID:N2GlqC3/0 こんなところにクソコードベタ貼りしてないでCodesandboxで動くソースでも書いてからリンク貼れよ
840デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 01:04:30.20ID:RYW8IiyE0841デフォルトの名無しさん (ワッチョイ 9732-4xo3)
2019/03/09(土) 01:11:28.76ID:zxiwPMOw0 はっきり言うけどさ
中のinputまで丸ごとコピペしないと動かないコンポーネントとかコンポーネントじゃねえよ
jQueryならDOM構造は気にしなくて良かったんじゃないのか
中のinputまで丸ごとコピペしないと動かないコンポーネントとかコンポーネントじゃねえよ
jQueryならDOM構造は気にしなくて良かったんじゃないのか
842デフォルトの名無しさん (ドコグロ MM97-w6xA)
2019/03/09(土) 01:36:21.59ID:ovl4dn3WM 最後にまとめて答えとくよ。
>>819
> 何が言いたいのかわからん。
> CSSで div { color: red } って書いても
> 影響を受けないようになんて、Vueでもできないだろ
できる。scopedでググるか、詳しくはvueの公式見よう。
>>820
> jQueryでは結びつかない。
> <div class="my-component">
> <input type="checkbox" name="switch">switch1
> </div>
> ↑どこにjQuery関連のものがあるか言ってみな
そこは結びつかなきゃ困るんだよ。リアクティブなんだから。いちいちon changeイベントの記述なんぞしたくないもの。ねえ、このサンプルで言えばさ、nameがv-modelになるだけだよ?何がそんな嫌なのさ?
>>819
> 何が言いたいのかわからん。
> CSSで div { color: red } って書いても
> 影響を受けないようになんて、Vueでもできないだろ
できる。scopedでググるか、詳しくはvueの公式見よう。
>>820
> jQueryでは結びつかない。
> <div class="my-component">
> <input type="checkbox" name="switch">switch1
> </div>
> ↑どこにjQuery関連のものがあるか言ってみな
そこは結びつかなきゃ困るんだよ。リアクティブなんだから。いちいちon changeイベントの記述なんぞしたくないもの。ねえ、このサンプルで言えばさ、nameがv-modelになるだけだよ?何がそんな嫌なのさ?
843デフォルトの名無しさん (アメ MMdb-cVal)
2019/03/09(土) 02:04:13.30ID:MQBXPAS0M jQueryの人頑張ってるみたいだけど
jQ
jQ
844デフォルトの名無しさん (ドコグロ MM97-w6xA)
2019/03/09(土) 02:07:07.23ID:ovl4dn3WM >>838
> という固定のDOM構造にしか使えないので
> jQueryよりも劣っている
これが大いなる勘違いなんだがもう説明しない。いいから学べ。
> jQueryだとHTML(DOM構造)を自由に変更できる。
> 以下のどのように変更しようとも、JavaScriptのコードは変更の必要はない
これアンチパターンで混乱の元。カプセル化できないコンポーネントなんぞ不安で使えたもんじゃない。セレクタの影響範囲が広すぎて便利なつもりになってるだけ。将来的なデスマーチが約束された最も最悪な例だと気いて欲しい。
> という固定のDOM構造にしか使えないので
> jQueryよりも劣っている
これが大いなる勘違いなんだがもう説明しない。いいから学べ。
> jQueryだとHTML(DOM構造)を自由に変更できる。
> 以下のどのように変更しようとも、JavaScriptのコードは変更の必要はない
これアンチパターンで混乱の元。カプセル化できないコンポーネントなんぞ不安で使えたもんじゃない。セレクタの影響範囲が広すぎて便利なつもりになってるだけ。将来的なデスマーチが約束された最も最悪な例だと気いて欲しい。
845デフォルトの名無しさん (ドコグロ MM97-w6xA)
2019/03/09(土) 02:21:00.49ID:ovl4dn3WM あとさ、いいからjQuery君はスレタイ読もうついでに空気もね。
ココはvue react angularスレだよ。公式のサンプル一つも試した事ないのバレてるのよ??なのにどうやって比較してるの?妄想じゃんそれ。
両方のコード見せて具体的に証明してよ。君の言うjQueryの優位性をさ。そしたら俺もキチンと答えるよ。間違ってたら謝るし。俺もjQueryは散々世話になったから嫌いじゃないのよ?
ココはvue react angularスレだよ。公式のサンプル一つも試した事ないのバレてるのよ??なのにどうやって比較してるの?妄想じゃんそれ。
両方のコード見せて具体的に証明してよ。君の言うjQueryの優位性をさ。そしたら俺もキチンと答えるよ。間違ってたら謝るし。俺もjQueryは散々世話になったから嫌いじゃないのよ?
846デフォルトの名無しさん (ワッチョイ 977c-7l04)
2019/03/09(土) 02:50:20.05ID:Tm/Y9JxW0 ただ単に覚えたくないんだよ
新しい言語を
jQueryは
新しい言語を
jQueryは
847デフォルトの名無しさん (ワッチョイ eb4e-F75Q)
2019/03/09(土) 03:10:54.41ID:n56g/PGg0 女子更衣室に堂々とチン入してきて延々巨根自慢をする粗チンバカ
848デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 07:00:21.97ID:RYW8IiyE0 >>842
> できる。scopedでググるか、詳しくはvueの公式見よう。
scopedは、コンポーネントだけで使えるCSSであって
外部からの影響を受けないようにするものじゃないよ
素人かよw
> そこは結びつかなきゃ困るんだよ。リアクティブなんだから。
理由は?w
> できる。scopedでググるか、詳しくはvueの公式見よう。
scopedは、コンポーネントだけで使えるCSSであって
外部からの影響を受けないようにするものじゃないよ
素人かよw
> そこは結びつかなきゃ困るんだよ。リアクティブなんだから。
理由は?w
849デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 07:01:33.11ID:RYW8IiyE0 >>845
> 両方のコード見せて具体的に証明してよ。君の言うjQueryの優位性をさ。
jQueryの動くコード
http://jsfiddle.net/rhp9dvya/
Vueの動くコードはでてない。
my-componentの外に、置いたinputでも動くし、
my-componentを複数置いたら、おかしくなる
というクソコードしか出てない
> 両方のコード見せて具体的に証明してよ。君の言うjQueryの優位性をさ。
jQueryの動くコード
http://jsfiddle.net/rhp9dvya/
Vueの動くコードはでてない。
my-componentの外に、置いたinputでも動くし、
my-componentを複数置いたら、おかしくなる
というクソコードしか出てない
850デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 07:05:56.25ID:RYW8IiyE0 リアクティブなんだから!(自分で言っていて意味わかっていない)
↑ぷぎゃーw
↑ぷぎゃーw
851デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 07:06:59.38ID:RYW8IiyE0 > nameがv-modelになるだけだよ?何がそんな嫌なのさ?
デザイナーの世界にないVue(JavaScript)専用の概念を
持ち込むことだね。
デザイナーの世界にないVue(JavaScript)専用の概念を
持ち込むことだね。
852デフォルトの名無しさん (ワッチョイ 9732-4xo3)
2019/03/09(土) 07:17:14.04ID:zxiwPMOw0 だからおかしくて当然なんだって
勝手にコンポーネントと名乗ってるだけでそれコンポーネントじゃないから
ただのjQuery特有の動作だから
勝手にコンポーネントと名乗ってるだけでそれコンポーネントじゃないから
ただのjQuery特有の動作だから
853デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 07:18:18.22ID:RYW8IiyE0 Vueのコンポーネントだけが
正しいコンポーネントだとか
恥ずかしいよ?
正しいコンポーネントだとか
恥ずかしいよ?
854デフォルトの名無しさん (ワッチョイ 9732-4xo3)
2019/03/09(土) 07:22:27.20ID:zxiwPMOw0 でもあなたはjQueryの正しいコンポーネントが再現出来ないからクソコードって言うんでしょ
恥ずかしくないの?
恥ずかしくないの?
855デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 07:26:00.83ID:RYW8IiyE0 jQueryの場合というか、コンポーネントというのは別にjQueryの用語ではなく
単にHTML(DOM)の構造によって形作られたものに過ぎない。
専門用語ではなく、単なる英語としてのコンポーネント
この場合のmy-componentというのは、my-componentというクラス名から始まり
内部にname="switch"があるというコンポーネント
my-componentの条件はこれだけだから、DOMの構造はHTMLを修正するだけで柔軟に変更できる。
デザイナはこの条件を守っている限りHTML(CSS)を変更し自由にデザインできるし、
プログラマもデザインが変わってもJavaScriptコードを変更する必要がなくなる。
デザイナの担当とプログラマの担当、つまり修正するファイルが明確に分かれているのも良い
どちらも自分の担当するファイルを自由に変更できるから分業することも容易になっている
単にHTML(DOM)の構造によって形作られたものに過ぎない。
専門用語ではなく、単なる英語としてのコンポーネント
この場合のmy-componentというのは、my-componentというクラス名から始まり
内部にname="switch"があるというコンポーネント
my-componentの条件はこれだけだから、DOMの構造はHTMLを修正するだけで柔軟に変更できる。
デザイナはこの条件を守っている限りHTML(CSS)を変更し自由にデザインできるし、
プログラマもデザインが変わってもJavaScriptコードを変更する必要がなくなる。
デザイナの担当とプログラマの担当、つまり修正するファイルが明確に分かれているのも良い
どちらも自分の担当するファイルを自由に変更できるから分業することも容易になっている
856デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 07:29:39.24ID:RYW8IiyE0 >>854
いや、常識的な仕様を守ってないからクソコードって言ってるんだよw
new Vue({
el: '#app',
data: {isActive:false},
})
これだけでできると言ったくせに
<div id="app">
<div class="my-component" :class="{active:isActive}">
<input type="checkbox" v-model="isActive">abc
</div>
<input type="checkbox" v-model="isActive">abc ←ここを押しても反応する
<div class="my-component" :class="{active:isActive}">
<input type="checkbox" v-model="isActive">abc ←ここを押したら全部反応する
</div>
</div>
はい、Vue側のコード。これだけって言ったんだから、これだけでやってみせろやw
https://codepen.io/anon/pen/BbZNVM
いや、常識的な仕様を守ってないからクソコードって言ってるんだよw
new Vue({
el: '#app',
data: {isActive:false},
})
これだけでできると言ったくせに
<div id="app">
<div class="my-component" :class="{active:isActive}">
<input type="checkbox" v-model="isActive">abc
</div>
<input type="checkbox" v-model="isActive">abc ←ここを押しても反応する
<div class="my-component" :class="{active:isActive}">
<input type="checkbox" v-model="isActive">abc ←ここを押したら全部反応する
</div>
</div>
はい、Vue側のコード。これだけって言ったんだから、これだけでやってみせろやw
https://codepen.io/anon/pen/BbZNVM
857デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 07:45:09.02ID:RYW8IiyE0 ここで(HTML側を自由変更できないとはいえ)複数置いても問題ないコードを
書いてるから常識的な仕様ぐらい理解してると思うんだよねw
https://codepen.io/hinoragi/pen/YgVQjK
でもそれだとVueの方がjQueryよりも大幅に長くなっちゃったから
これだけでできる!(←まともに動かない)
と騙そうとしたんだろうね。
でもバレちゃったw
書いてるから常識的な仕様ぐらい理解してると思うんだよねw
https://codepen.io/hinoragi/pen/YgVQjK
でもそれだとVueの方がjQueryよりも大幅に長くなっちゃったから
これだけでできる!(←まともに動かない)
と騙そうとしたんだろうね。
でもバレちゃったw
858デフォルトの名無しさん (ワッチョイ a701-w6xA)
2019/03/09(土) 08:07:35.93ID:e9DsS9n/0859デフォルトの名無しさん (ワッチョイ a701-w6xA)
2019/03/09(土) 08:10:00.82ID:e9DsS9n/0860デフォルトの名無しさん (ワッチョイ 9732-4xo3)
2019/03/09(土) 08:10:39.68ID:zxiwPMOw0 提示された例がコンポーネントじゃないから当然なんだって
inputが中に2つあっても動いちゃうし無かったら役立たずのmy-componentが残るだけ
綺麗にコピペしないと動かないなんて常識的なコンポーネントの仕様を守ってないよね
inputが中に2つあっても動いちゃうし無かったら役立たずのmy-componentが残るだけ
綺麗にコピペしないと動かないなんて常識的なコンポーネントの仕様を守ってないよね
861デフォルトの名無しさん (ワッチョイ a701-w6xA)
2019/03/09(土) 08:16:51.61ID:e9DsS9n/0862デフォルトの名無しさん (ワッチョイ a701-w6xA)
2019/03/09(土) 08:24:01.30ID:e9DsS9n/0 >>855
> jQueryの場合というか、コンポーネントというのは別にjQueryの用語ではなく
> 単にHTML(DOM)の構造によって形作られたものに過ぎない。
> 専門用語ではなく、単なる英語としてのコンポーネント
無知極まってるぞ。勝手に定義するな。マジで少し勉強して。そんな俺様定義だからあんな再利用できない紛いモノ書くんだよ。
> jQueryの場合というか、コンポーネントというのは別にjQueryの用語ではなく
> 単にHTML(DOM)の構造によって形作られたものに過ぎない。
> 専門用語ではなく、単なる英語としてのコンポーネント
無知極まってるぞ。勝手に定義するな。マジで少し勉強して。そんな俺様定義だからあんな再利用できない紛いモノ書くんだよ。
863デフォルトの名無しさん (ワッチョイ a701-w6xA)
2019/03/09(土) 08:28:42.54ID:e9DsS9n/0 だああ、色々言いたいが出社だ。
いいかiQuery君。君はまずスレチだ。そこをまず理解しろ。
その上で書くならせめてjQueryとvue react angularのどれか、2つのコードを比較しながらjQueryの良さを語れ。
それがここに書き込む最低の礼儀じゃね?
いいかiQuery君。君はまずスレチだ。そこをまず理解しろ。
その上で書くならせめてjQueryとvue react angularのどれか、2つのコードを比較しながらjQueryの良さを語れ。
それがここに書き込む最低の礼儀じゃね?
864デフォルトの名無しさん (ワッチョイ a701-w6xA)
2019/03/09(土) 08:37:47.27ID:e9DsS9n/0 最後にもう一回言うぞ。
jQueryのコード置くだけで「だからvueだめなんだよ」コレ止めろ。
基礎だけでもVueを勉強してから発言するのが筋だぜ。でないと話が通じないから困るんだよ。ほらココvueのスレでもあるし。
jQueryのコード置くだけで「だからvueだめなんだよ」コレ止めろ。
基礎だけでもVueを勉強してから発言するのが筋だぜ。でないと話が通じないから困るんだよ。ほらココvueのスレでもあるし。
865デフォルトの名無しさん (ワッチョイ 1202-LbCk)
2019/03/09(土) 09:14:15.58ID:N2GlqC3/0 >>849
かっこいい画像.gifくらいちゃんと用意しろよ
かっこいい画像.gifくらいちゃんと用意しろよ
866デフォルトの名無しさん (アウアウウー Sac3-4dCE)
2019/03/09(土) 09:18:13.96ID:izNw5U5za867デフォルトの名無しさん (ワッチョイ a701-yV2I)
2019/03/09(土) 09:19:00.94ID:zJdX2n9h0 これは素晴らしい煽り合いだな
お互いコードでやりあうとか
勉強になります
お互いコードでやりあうとか
勉強になります
868デフォルトの名無しさん (ワッチョイ ff2d-Ff7m)
2019/03/09(土) 09:20:39.95ID:b+N//s300 多分、「jQueryで十分」って主張してる人は、結局SPAの概念が習得出来なかった、あるいはする気のない人じゃない?
最新のフロントエンド開発について行けないから、新しい物の価値を否定して、
自分の相対価値が下がって行くのを阻止したいんじゃないかと。
今後SPAがどうなるかなんて分からないけど、少なくとも新しい事に挑戦もせず、勉強もせず、
自分が理解出来る古い技術にばかりすがるのは、正直エンジニアとしては失格だと思うよ。
そういった人が今すべき事は、不真面目な自分を戒めて勉強に励むか、
あるいはエンジニアとしての死を素直に受け入れて、別の道を模索するかのどっちかにしたらいいんじゃないかと。
最新のフロントエンド開発について行けないから、新しい物の価値を否定して、
自分の相対価値が下がって行くのを阻止したいんじゃないかと。
今後SPAがどうなるかなんて分からないけど、少なくとも新しい事に挑戦もせず、勉強もせず、
自分が理解出来る古い技術にばかりすがるのは、正直エンジニアとしては失格だと思うよ。
そういった人が今すべき事は、不真面目な自分を戒めて勉強に励むか、
あるいはエンジニアとしての死を素直に受け入れて、別の道を模索するかのどっちかにしたらいいんじゃないかと。
869デフォルトの名無しさん (ワッチョイ eb7d-C8N5)
2019/03/09(土) 09:22:15.82ID:ezqy2TGU0 スレチだし
ライブラリとフレームワークを比較する具合が香ばしさ
ライブラリとフレームワークを比較する具合が香ばしさ
870デフォルトの名無しさん (ワッチョイ 1202-LbCk)
2019/03/09(土) 09:23:51.52ID:N2GlqC3/0871デフォルトの名無しさん (アウアウウー Sac3-cVal)
2019/03/09(土) 09:29:59.29ID:OAlfgW/Ia jQueryはデザインの物理的な構造にプログラムが強く依存してしまうから生産性が低い
プログラムがデザインの物理的な構造に依存することを知ってるからデザインも安易に作れない(プログラムから扱えるようにするために物理的な制約が生まれる)
VueはVMを使ってロジックとデザインを明確に分離してるのでそういった不都合はかなり軽減される
全くないとは言わないがね
プログラムがデザインの物理的な構造に依存することを知ってるからデザインも安易に作れない(プログラムから扱えるようにするために物理的な制約が生まれる)
VueはVMを使ってロジックとデザインを明確に分離してるのでそういった不都合はかなり軽減される
全くないとは言わないがね
872デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 10:53:00.46ID:RYW8IiyE0873デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 10:53:39.13ID:RYW8IiyE0 もう一回載せようか? はやくこれだけで作って欲しいんだが
>>854
いや、常識的な仕様を守ってないからクソコードって言ってるんだよw
new Vue({
el: '#app',
data: {isActive:false},
})
これだけでできると言ったくせに
<div id="app">
<div class="my-component" :class="{active:isActive}">
<input type="checkbox" v-model="isActive">abc
</div>
<input type="checkbox" v-model="isActive">abc ←ここを押しても反応する
<div class="my-component" :class="{active:isActive}">
<input type="checkbox" v-model="isActive">abc ←ここを押したら全部反応する
</div>
</div>
はい、Vue側のコード。これだけって言ったんだから、これだけでやってみせろやw
https://codepen.io/anon/pen/BbZNVM
>>854
いや、常識的な仕様を守ってないからクソコードって言ってるんだよw
new Vue({
el: '#app',
data: {isActive:false},
})
これだけでできると言ったくせに
<div id="app">
<div class="my-component" :class="{active:isActive}">
<input type="checkbox" v-model="isActive">abc
</div>
<input type="checkbox" v-model="isActive">abc ←ここを押しても反応する
<div class="my-component" :class="{active:isActive}">
<input type="checkbox" v-model="isActive">abc ←ここを押したら全部反応する
</div>
</div>
はい、Vue側のコード。これだけって言ったんだから、これだけでやってみせろやw
https://codepen.io/anon/pen/BbZNVM
874デフォルトの名無しさん (アウアウエー Saaa-W5A6)
2019/03/09(土) 11:15:35.75ID:/2BHRI8Ma 素人w
875デフォルトの名無しさん (アウアウウー Sac3-cVal)
2019/03/09(土) 11:19:10.07ID:OAlfgW/Ia Vue(というかMVVM)の素晴らしいところはjavascript側はhtml/css側がどうなってるのか知らなくてもいいところ
そしてhtml/css側はjavascript側がどうなっているか最小限の知識で済むこと
jQueryではお互いがお互いに対する知識を多く必要としているため結合が非常に強くなってしまう
これでは分業は難しい
そしてhtml/css側はjavascript側がどうなっているか最小限の知識で済むこと
jQueryではお互いがお互いに対する知識を多く必要としているため結合が非常に強くなってしまう
これでは分業は難しい
876デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 11:30:18.17ID:RYW8IiyE0 >>875
嘘はいかんよ
Vue.component('my-component',{
template:`
<div class="my-component" :class="{active:isActive}">
<input type="checkbox" v-model="isActive">{{val}}
</div>
`,
data:function(){
return{
isActive:false
}
},
props:["val"]
})
new Vue({el: '#app'})
VueのJavaScriptの中にHTMLが埋め込まれてしまってる
嘘はいかんよ
Vue.component('my-component',{
template:`
<div class="my-component" :class="{active:isActive}">
<input type="checkbox" v-model="isActive">{{val}}
</div>
`,
data:function(){
return{
isActive:false
}
},
props:["val"]
})
new Vue({el: '#app'})
VueのJavaScriptの中にHTMLが埋め込まれてしまってる
877デフォルトの名無しさん (ワッチョイ a701-chNm)
2019/03/09(土) 11:43:48.95ID:e9DsS9n/0 >>873
馬鹿野郎。。。それは最初のv-bindとv-modelのサンプルだろうが。
コンポーネントはこっちだ。
https://codepen.io/hinoragi/pen/YgVQjK
何度も何度も行ったがhtmlは分離できるぞ。ちったー勉強しろよ。
んでさ、修正点があるなら自分で書けばいいじゃない。別に複雑なコードじゃない。たった数行だぜ?コードに異論があるならコードで示す。当たり前だと思うがjQuery君は違うのかな?
それすら出来ず、vueが分からないからオウム返しのようにクソ呼ばわりする。それただのバカって言うんだよ。いい加減自覚しろ。
君に少しでもプライドがあるなら、君の思ったとおりに動作するvueのコード上げてみな。時間はかかってもいいからさ。
馬鹿野郎。。。それは最初のv-bindとv-modelのサンプルだろうが。
コンポーネントはこっちだ。
https://codepen.io/hinoragi/pen/YgVQjK
何度も何度も行ったがhtmlは分離できるぞ。ちったー勉強しろよ。
んでさ、修正点があるなら自分で書けばいいじゃない。別に複雑なコードじゃない。たった数行だぜ?コードに異論があるならコードで示す。当たり前だと思うがjQuery君は違うのかな?
それすら出来ず、vueが分からないからオウム返しのようにクソ呼ばわりする。それただのバカって言うんだよ。いい加減自覚しろ。
君に少しでもプライドがあるなら、君の思ったとおりに動作するvueのコード上げてみな。時間はかかってもいいからさ。
878デフォルトの名無しさん (アウアウウー Sac3-cVal)
2019/03/09(土) 11:45:53.12ID:OAlfgW/Ia >>876
埋め込んだのだからそれは仕方ないでしょう
ちなみに私はVueの真の利点はMVVMによるViewとViewModelの分離であると考えています
世の人々はコンポーネント志向に興味を惹かれているようですがそれはオマケです
私はVueを使ったとしてもhtml/cssとjsを同居させることはありません
それにjQueryでもコンポーネント化しようとすればテンプレートの埋め込みになる筈です
埋め込みを拒否した場合はhtmlのコピペになるでしょう
その点についてはVueもjQueryも同じことです
なので問題はVueではなくコンポーネント志向の方にあることがわかります
埋め込んだのだからそれは仕方ないでしょう
ちなみに私はVueの真の利点はMVVMによるViewとViewModelの分離であると考えています
世の人々はコンポーネント志向に興味を惹かれているようですがそれはオマケです
私はVueを使ったとしてもhtml/cssとjsを同居させることはありません
それにjQueryでもコンポーネント化しようとすればテンプレートの埋め込みになる筈です
埋め込みを拒否した場合はhtmlのコピペになるでしょう
その点についてはVueもjQueryも同じことです
なので問題はVueではなくコンポーネント志向の方にあることがわかります
879デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 11:47:01.74ID:RYW8IiyE0 > 何度も何度も行ったがhtmlは分離できるぞ。ちったー勉強しろよ。
だったら分離してくださいよ。
"分離できるぞ" と言ってるからには、今のコードは分離されてないってことでしょ
それをしないのは、分離すると余計に長くなるってことなんでしょ?
だったら分離してくださいよ。
"分離できるぞ" と言ってるからには、今のコードは分離されてないってことでしょ
それをしないのは、分離すると余計に長くなるってことなんでしょ?
880デフォルトの名無しさん (ワッチョイ 162c-1cTK)
2019/03/09(土) 11:47:56.22ID:GVs3bbIF0 Vue, React は、コンポーネント指向。
デザイナー・プログラマーの分業体制
jQuery は、そういう観点ではない!
デザイナー・プログラマーの分業体制
jQuery は、そういう観点ではない!
881デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 11:48:33.65ID:RYW8IiyE0 >>878
> それにjQueryでもコンポーネント化しようとすればテンプレートの埋め込みになる筈です
ならない。なんのためにHTMLにテンプレートタグ <template> が出来たと思ってるんだ?
> それにjQueryでもコンポーネント化しようとすればテンプレートの埋め込みになる筈です
ならない。なんのためにHTMLにテンプレートタグ <template> が出来たと思ってるんだ?
882デフォルトの名無しさん (アウアウウー Sac3-cVal)
2019/03/09(土) 11:49:39.85ID:OAlfgW/Ia883デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 11:53:02.83ID:RYW8IiyE0 >>882
これがjQueryのコードなんだが
どこが結びついてるの?
$('.my-component [name="switch"]').change(function() {
$(this).closest('.my-component').toggleClass('active', this.checked);
});
これがjQueryのコードなんだが
どこが結びついてるの?
$('.my-component [name="switch"]').change(function() {
$(this).closest('.my-component').toggleClass('active', this.checked);
});
884デフォルトの名無しさん (ワッチョイ 96bb-Giku)
2019/03/09(土) 11:53:04.50ID:QoZVVHuY0 ツマンネーよ
885デフォルトの名無しさん (アウアウウー Sac3-cVal)
2019/03/09(土) 12:00:56.94ID:OAlfgW/Ia >>881
それはテンプレートの置き場を変えただけです
テンプレートをjavascriptからhtmlへ追い出すだけならVueでも可能です
しかしコンポーネント志向場合はテンプレートをhtmlに追い出しても意味はありません
異なるページでコンポーネントを再利用する場合を考えればそれが無意味であることがわかります
それはテンプレートの置き場を変えただけです
テンプレートをjavascriptからhtmlへ追い出すだけならVueでも可能です
しかしコンポーネント志向場合はテンプレートをhtmlに追い出しても意味はありません
異なるページでコンポーネントを再利用する場合を考えればそれが無意味であることがわかります
886デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 12:03:54.96ID:RYW8IiyE0 >>885
> それはテンプレートの置き場を変えただけです
だからお前がjQueryだと埋め込むしか無いっていったから、
置き場を変えてやったんだろうが
置き場を変えることでデザイナが自由にHTMLを変更できるようになる
プログラマは、中身がどう変わろうが意識する必要がなくなる
これが分業だろうが
> それはテンプレートの置き場を変えただけです
だからお前がjQueryだと埋め込むしか無いっていったから、
置き場を変えてやったんだろうが
置き場を変えることでデザイナが自由にHTMLを変更できるようになる
プログラマは、中身がどう変わろうが意識する必要がなくなる
これが分業だろうが
887デフォルトの名無しさん (ワッチョイ 1202-LbCk)
2019/03/09(土) 12:04:02.87ID:N2GlqC3/0 もう「jQuery vs Vue」みたいなスレでも立ててそっちでやれよ
888デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 12:05:41.67ID:RYW8IiyE0889デフォルトの名無しさん (ワッチョイ a701-chNm)
2019/03/09(土) 12:06:04.85ID:e9DsS9n/0 >>879
君は本当に面白いな。俺には君の不満点が全部見えない。当たり前だよな他人だし。だから修正したコードを君自身が書くことに意味がある訳さ。勉強にもなる。それに君は俺が何を書いても文句を言うだろう。後付で色々言われるのは面倒だ。
だったら、君の素晴らしいコードと、俺の糞コードを比較すればいいじゃん?君の正当性はコードでしか証明できないんだぞ。
たった数行の修正だし簡単だからトライしてみなって。それを見て意見出し合おうや。
君は本当に面白いな。俺には君の不満点が全部見えない。当たり前だよな他人だし。だから修正したコードを君自身が書くことに意味がある訳さ。勉強にもなる。それに君は俺が何を書いても文句を言うだろう。後付で色々言われるのは面倒だ。
だったら、君の素晴らしいコードと、俺の糞コードを比較すればいいじゃん?君の正当性はコードでしか証明できないんだぞ。
たった数行の修正だし簡単だからトライしてみなって。それを見て意見出し合おうや。
890デフォルトの名無しさん (ブーイモ MM32-4xo3)
2019/03/09(土) 12:07:36.71ID:flOfKdeWM891デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 12:07:52.12ID:RYW8IiyE0892デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 12:08:40.26ID:RYW8IiyE0893デフォルトの名無しさん (アウアウウー Sac3-cVal)
2019/03/09(土) 12:12:57.48ID:OAlfgW/Ia >>883
>>>882
>これがjQueryのコードなんだが
>どこが結びついてるの?
>
>$('.my-component [name="switch"]').change(function() {
> $(this).closest('.my-component').toggleClass('active', this.checked);
>});
・適応対象のname属性がswitchでありクラス名がmy-componentの要素の子孫であること
・適応対象がchangeイベントをサポートしていること
・適応対象の直近のクラス名がmy-componentの要素がactiveクラスをサポートしていること
少なくともこの3つの物理的な条件をjsプログラマが知ってなければなりません
さらにhtml/cssデザイナはjsプログラマがこれらの条件を期待していることを知っていなければなりません
Vue(MVVM)ならばそのような仮定は全く必要ありません
Viewとは独立してただ単にViewModelの属性のブール値を切り替えるだけです
>>>882
>これがjQueryのコードなんだが
>どこが結びついてるの?
>
>$('.my-component [name="switch"]').change(function() {
> $(this).closest('.my-component').toggleClass('active', this.checked);
>});
・適応対象のname属性がswitchでありクラス名がmy-componentの要素の子孫であること
・適応対象がchangeイベントをサポートしていること
・適応対象の直近のクラス名がmy-componentの要素がactiveクラスをサポートしていること
少なくともこの3つの物理的な条件をjsプログラマが知ってなければなりません
さらにhtml/cssデザイナはjsプログラマがこれらの条件を期待していることを知っていなければなりません
Vue(MVVM)ならばそのような仮定は全く必要ありません
Viewとは独立してただ単にViewModelの属性のブール値を切り替えるだけです
894デフォルトの名無しさん (ワッチョイ a701-chNm)
2019/03/09(土) 12:14:08.39ID:e9DsS9n/0895デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 12:17:29.40ID:RYW8IiyE0896デフォルトの名無しさん (ブーイモ MM32-4xo3)
2019/03/09(土) 12:17:40.62ID:flOfKdeWM897デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/09(土) 12:18:35.13ID:RYW8IiyE0 >>894
> スクリプトからはdomのクラスやセレクタなぞ、可能な限り知る必要はないってこと理解できない?
DOMのクラスやセレクタを使わないでやるなら
HTMLに直接React用のコードを埋め込むしか無いやんw
> スクリプトからはdomのクラスやセレクタなぞ、可能な限り知る必要はないってこと理解できない?
DOMのクラスやセレクタを使わないでやるなら
HTMLに直接React用のコードを埋め込むしか無いやんw
898デフォルトの名無しさん (アウアウウー Sac3-cVal)
2019/03/09(土) 12:18:44.76ID:OAlfgW/Ia >>886
デザイナは自由ではありません
jQueryコードを理解してプログラムを破壊しないように作業しなければなりません
プログラムを破壊しないための条件は明確にはなっていません
そもそもあなたはコンポーネントの意味を理解していないようです
template tagを使用しても別の画面では再利用できません
それはコンポーネントではありません
コンポーネントはテンプレートとロジックが1つのブロックとして再利用可能な形態になっている必要があります
デザイナは自由ではありません
jQueryコードを理解してプログラムを破壊しないように作業しなければなりません
プログラムを破壊しないための条件は明確にはなっていません
そもそもあなたはコンポーネントの意味を理解していないようです
template tagを使用しても別の画面では再利用できません
それはコンポーネントではありません
コンポーネントはテンプレートとロジックが1つのブロックとして再利用可能な形態になっている必要があります
899デフォルトの名無しさん (アウアウウー Sac3-cVal)
2019/03/09(土) 12:21:48.66ID:OAlfgW/Ia■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【前橋市】小川晶前市長とラブホテルで打ち合わせをした54歳男性職員を停職処分 今月末で依願退職するという [シャチ★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」★2 [ぐれ★]
- 【埼玉】「無免許で高速道路で事故」トラックの追突事故で10代男性死亡 無免許過失運転致死の疑いでトルコ国籍の男(22)逮捕 戸田市 [ぐれ★]
- 【日銀総裁】賃金に上昇圧力 人手不足で労働市場逼迫 [蚤の市★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★7 [七波羅探題★]
- レーダー照射問題で日本のホットライン呼びかけに中国応じず…2023年3月に開設も機能せず [♪♪♪★]
- 高市早苗「竹島は日本領土」 [834922174]
- (´・ω・`)おならっていろんな音出るよね
- 【悲報】ユーロ円182円突破 史上最高値更新 [115996789]
- 俺は人間国宝
- 【速報】1ポンド210円で日英GDP逆転(残り1.5円)...世界6位の経済規模に転落 [237216734]
- おさかなさんあつまれえ
