Vue.jsのプロ来てくれ

1 : 2021/10/22(金) 22:22:06.091 ID:nmLjgIAm0
ほんとにプロか?
2 : 2021/10/22(金) 22:22:33.120 ID:rfkbmi9N0
全く知らんが来たぞ
3 : 2021/10/22(金) 22:22:56.314 ID:yCuntlhta
プロを超えたプロだが
4 : 2021/10/22(金) 22:23:43.587 ID:5/R4Err70
なんだ用はないのか
帰る
5 : 2021/10/22(金) 22:25:47.510 ID:nmLjgIAm0
用あるから帰らないで!
ミックスインって機能使ってコンポーネントを共通化したいんだけどさ
https://jp.vuejs.org/v2/guide/mixins.html
6 : 2021/10/22(金) 22:29:34.457 ID:nmLjgIAm0
これを引数かなんかを使って一部分だけ処理を変えたいんだけど上手くやる方法知らない?
7 : 2021/10/22(金) 22:31:26.673 ID:j47Vei1/0
ほんとにプロか?じゃないが
リプレイスも新規導入もなにもかもやったことあるが?
頼み方ってもんがあるんじゃねーか???
8 : 2021/10/22(金) 22:33:01.280 ID:gVnfQ5m50
if文を使おう
10 : 2021/10/22(金) 22:35:29.956 ID:nmLjgIAm0
>>8
処理複雑になるからあまり使いたくないんだ
9 : 2021/10/22(金) 22:33:24.491 ID:nmLjgIAm0
↓こんなイメージ
// ミックスインオブジェクトを定義
var myMixin = function(funcTest){
return(
created: function () {
this.hello()
},
methods: {
hello: function () {
funcTest()
}
}
)
}
11 : 2021/10/22(金) 22:38:11.045 ID:nmLjgIAm0
プロいないか…
12 : 2021/10/22(金) 22:47:16.981 ID:gVnfQ5m50
何がやりたいのかよく分からん

mixinオブジェクトのhelloメソッドの挙動を途中で切り替えたいという事?
それともmixinオブジェクトを沢山作りたくて、作る時点で別々の挙動を割り振りたいという事?

13 : 2021/10/22(金) 22:51:25.784 ID:nmLjgIAm0
>>12
helloメソッドの処理部分をコンポーネント側で渡してそれぞれのコンポーネントで別の処理を行いたい
16 : 2021/10/22(金) 23:07:34.089 ID:nmLjgIAm0
妥協案はあるんだけどあまりいい実装方法じゃないと思うんよね…
17 : 2021/10/22(金) 23:10:30.060 ID:gVnfQ5m50
myfuncをmethodsの外に出して、なおかつアロー関数で定義すればthis.myfuncとしても通る気がする

もしくは、extends

20 : 2021/10/22(金) 23:19:20.673 ID:nmLjgIAm0
>>17
外に引き出せたらいいんだけど今回はできないの
methodsの中にあるmyfunc呼び出せるならなんでもいいんだけどやり方が分からない…
21 : 2021/10/22(金) 23:21:11.456 ID:gVnfQ5m50
>>20
とりあえずmethodsの中のmyfuncは関数になってないけどこれはただのタイプミス?
22 : 2021/10/22(金) 23:22:35.771 ID:nmLjgIAm0
>>21
ミスだわごめんなさい
18 : 2021/10/22(金) 23:11:08.193 ID:gVnfQ5m50
すまん最後の行は誤爆

あと俺は全くVue.jsの事知らんから期待しない方がいいぞ

19 : 2021/10/22(金) 23:15:57.532 ID:nmLjgIAm0
↓因みに妥協案はこれ
dataから無理やり関数引き出してる

// ミックスインオブジェクトを定義
var myMixin = function(funcTest){
return(
data(){
return{
funcTest: ()=›{}
}
},
created: function () {
this.hello()
},
methods: {
hello: function () {
funcTest()
}
}
)
}

new Vue({
mixins: [myMixin(this.myfunc)],
data(){
return{
funcTest: this.myfunc
}
},
methods: {
myfunc: {
console.log()
}
}
})

23 : 2021/10/22(金) 23:23:52.838 ID:gVnfQ5m50
this.myfuncをthis.methods.myfuncにしてもダメかなぁ
25 : 2021/10/22(金) 23:26:20.564 ID:nmLjgIAm0
>>23
今やってみたけど駄目だった…
24 : 2021/10/22(金) 23:24:30.428 ID:nmLjgIAm0
正しくはこうか

methods: {
myfunc(){
console.log()
}
}

28 : 2021/10/22(金) 23:32:55.657 ID:nmLjgIAm0
await忘れてた
29 : 2021/10/22(金) 23:34:20.560 ID:nmLjgIAm0
そもそもthisから取るのが不可能なのかな
Vue外部の扱いとして取ってくる必要があるのかも?
30 : 2021/10/22(金) 23:36:52.069 ID:gVnfQ5m50
ごめん眠いから寝る
がんがれ!
31 : 2021/10/22(金) 23:37:55.558 ID:nmLjgIAm0
>>30
いやほんと付き合ってくれてありがとう!
ちょっと気持ち楽になった
おやすみ!
32 : 2021/10/22(金) 23:39:50.163 ID:nmLjgIAm0
分かったかもしれない
33 : 2021/10/22(金) 23:42:14.385 ID:nmLjgIAm0
それっぽい記事見つけたけど英語読むだけの気力残ってない

https://stackoverflow.com/questions/58997396/passing-a-prop-to-a-vuejs-mixin-but-property-is-undefined

34 : 2021/10/22(金) 23:52:21.253 ID:nmLjgIAm0
なんか惜しいとこまで行ってる気がするんだけどできないなあ
35 : 2021/10/22(金) 23:55:11.415 ID:nmLjgIAm0
きたか!

コメント

タイトルとURLをコピーしました