JavaScript関連のことを調べてみた2021年03月16日

JavaScript関連のことを調べてみた2021年03月16日

Vue + ECharts でウィンドウサイズの変更に合わせてグラフをリサイズする

ECharts のグラフは要素幅が動的に変更された場合にそれに合わせてリサイズしてくれないため、リサイズしたい場合は都度 `resize` メソッドを実行する必要がある。

ピュアな (?) JavaScript アプリであれば `window` オブジェクトの `’resize’` イベントを監視して `chart.resize()` するだけで十分だが、Vue のような VirtualDOM ライブラリを利用している場合は「ウィンドウサイズ」というグローバルな状態をどう扱うかをちゃんと考えないといけない。

昔は Vuex を使って「ウィンドウサイズをちゃんとした状態として扱う」ことでこれ実現するなどしていたが、Vue 2.6.0 で追加された `Vue.observable` を使えば Vuex を使わずとも簡単に書けることを知ったので方法をまとめておく。

## ウィンドウサイズを監視できるようにする
Vue インスタンスプロパティ `$window` を追加して、Vue コンポーネントからウィンドウサイズを監視できるようにする。

参考: [\[Nuxt.js, Vue.js

元記事を表示

Rails6のwebpackerを使って、JSを表示するまでのログ

# はじめに
app/javascript/packs内がjsを書く場所。
これを書いて呼び出す。

“`ruby

<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>

“`

webpackerにもこう書かれている

“`ruby
source_entry_path: packs
“`

jsのコンパイルは、コマンドを打つ必要がある

“`ruby
bin/webpack-dev-server which can be used for
live reloading in the development phase. We have to run the
webpack-dev-server separately for this purpose
“`

これは、webpackerのhelperメソッド

“`ruby
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %

元記事を表示

【JavaScript】要素ノードの取得方法

#はじめに
この記事は以下の書籍を参考に作成しました。

https://www.amazon.co.jp/%E6%94%B9%E8%A8%82%E6%96%B0%E7%89%88JavaScript%E6%9C%AC%E6%A0%BC%E5%85%A5%E9%96%80-%E3%83%A2%E3%83%80%E3%83%B3%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB%E3%81%AB%E3%82%88%E3%82%8B%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E7%8F%BE%E5%A0%B4%E3%81%A7%E3%81%AE%E5%BF%9C%E7%94%A8%E3%81%BE%E3%81%A7-%E5%B1%B1%E7%94%B0-%E7%A5%A5%E5%AF%9B/dp/477418411X/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=27USW7I2418F8&dchild=1&keywords=javascript%E6%9C

元記事を表示

JavaScript,モジュールについて

# [JavaScript]モジュールについて

#目次
[1.モジュールの基礎](#1-モジュールの基礎)
[2.名前空間スコープの問題](#2-名前空間スコープの問題)
[3.モジュールを使ったコードに変換](#3-モジュールを使ったコードに変換)
[4.モジュールの遅延評価について](#4-モジュールの遅延評価について)
[5.モジュール間でのデータのやりとりexportとimport](#5-モジュール間でのデータのやりとりexportとimport)
[6.Default import/exportの書き方をマスターしよう!](#6-default-importexportの書き方をマスターしよう)
[7.モジュールの特殊な import/export について学ぼう](#7-モジュールの特殊な-importexport-について学ぼう)
[8.Re-Exportについてはまた今度。。。](#8-re-exportについてはまた今度)
[9.まとめ](#9-まとめ)

#1. モジュールの基礎

しまぶーのIT大学のモダンJavaScript講座(モジュール編)を観てまとめて

元記事を表示

Gatsby公式チュートリアルでややハマったこと

# Gatsby公式チュートリアルでややハマったこと

Vue一家に所属していたわけですが、reactファミリーも少し覗いてみようと思い門を叩きました。

※macでの操作になります。

“`Terminal:Terminal
node -v
v15.11.0
“`

#目次
[1.CSSをimportする時に読み込めないエラー発生](#1-cssをimportする時に読み込めないエラー発生)
[2.ところどころでnpm installの時にエラー](#2-ところどころでnpm-installの時にエラー)
[3.チュートリアル4のパンダで発生](#3-チュートリアル4のパンダで発生)
[4.チュートリアル「セクション7」](#4-チュートリアルセクション7)
[5.まとめ](#5-まとめ)

#1. CSSをimportする時に読み込めないエラー発生

セクション2で`tutorial-part-two/src/components/container.js`で「containerなんてねえぞ」と怒られる。

“`
// localhost:8000/about-css-mod

元記事を表示

Adjacent JSX elements must be wrapped in an enclosing tag.

初学者あるあるらしい?

# 前提
React 17.0.1

# 起こったこと

こういうコンポーネントを作成して

“`jsx

const LogoutButton = ({username, handleLogout}) => {
return (

{username} logged in


)
}

export default LogoutButton
“`

こういうふうに使いました。

“`jsx

<br /> {user && <LogoutButton username={user.name} handleLogout={logoutHandler} />}<br /> {user === null && loginForm()}</p> <p>(以下略) </p></div> <p>“`</p> <p>そしたらこのように言われました。</p> <p>“`<br /> SyntaxError: /Users/xxx/projects/bloglist_fronten</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>JavaScript</div> <div class='tag-cloud-link'>JSX</div> <div class='tag-cloud-link'>Fragment</div> <div class='tag-cloud-link'>フロントエンド</div> <div class='tag-cloud-link'>React</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/koyablue/items/d0d8655ca3b28203e42a'>元記事を表示</a></div> <h3 id="outline__7"><a href='https://qiita.com/7note/items/3f69c5ad833b999e424a'>【初心者でもわかる】RSSの配信方法と・jQueryでのRSS取得方法のいろは</a></h3> <blockquote><p>#どうも7noteです。jQueryを使ったRSS配信と取得方法を解説</p> <p>### 「そもそもRSS配信とは?」</p> <p>>### RSSとは「Webサイトの新着情報を配信するフォーマット」<br /> RSSとは「Really Simple Syndication」、または「Rich Site Summary」の略語※で、Webサイトのニュースやブログなどの、更新情報の日付やタイトル、その内容の要約などを配信するため技術のことです。RSSは、XML形式で記述されており、RSSリーダーと呼ばれるツールを使用することで、様々なサイトの更新情報や新着情報を自動的に取得することができます。<br /> 引用元:https://www.asobou.co.jp/blog/life/rss-2</p> <p>## RSSでできることは配信と取得の2つ。</p> <p>こんな風につかえます。↓↓↓</p> <p>– 自分のサイトからRSSを配信して、**誰でも自分のブログの最新情報を取得して使えるようにする**。<br /> – **他のサイトの最新情報を取得して、自分のサイトに情報を掲載する。**</p> <p>自分一人で「配信」も「取得」もすれば、**「サイトAの最新情報をサ</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>JavaScript</div> <div class='tag-cloud-link'>jQuery</div> <div class='tag-cloud-link'>RSS</div> <div class='tag-cloud-link'>初心者</div> <div class='tag-cloud-link'>XHTML</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/7note/items/3f69c5ad833b999e424a'>元記事を表示</a></div> <h3 id="outline__8"><a href='https://qiita.com/takeshitou/items/84b9a24e754d632a271f'>JavaScript var let constの違い</a></h3> <blockquote><p>JavaScriptでは変数を定義する際利用できるキーワードは三つあります。</p> <p>* var:全バージョン利用可能<br /> * const:ECMAScript 6以降から利用可能<br /> * let:ECMAScript 6以降から利用可能</p> <p>※ECMAScript 6は2015年6月に公開 [各バージョンの公開日はここから参照](https://ja.wikipedia.org/wiki/ECMAScript)</p> <p>##var</p> <p>var 文は関数スコープまたはグローバルスコープの変数を宣言し、任意でそれをある値に初期化します。</p> <p>“`javascript<br /> var message; //初期化していないため [undefined]という特殊な値が設定される<br /> var message2 = “Hello World!”;</p> <p>function showMessage(){<br /> console.info(message3);<br /> var message3 = “ShowMessage”;<br /> }</p> <p>function showMessage2(){<br /> var message4;<br /> console.</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>JavaScript</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/takeshitou/items/84b9a24e754d632a271f'>元記事を表示</a></div> <h3 id="outline__9"><a href='https://qiita.com/quryu/items/dfb457273a9c99f1bdfe'>Lambda で返ってくる文字列でハマった</a></h3> <blockquote><p># 問題<br /> Lambda、API Gateway を使って Web ブラウザからの入力結果を処理していた。Lambda 関数の戻り値に不要なダブルクォーテーションがついていた。</p> <p>以下のような Lambda 関数を作成した。</p> <p>“`lambda_function.py<br /> if bool:<br /> return ‘Exist’<br /> else:<br /> return ‘NotExist’<br /> “`</p> <p>lambda_function.pyの戻り値がresponse.text()に格納されるのだが、bool が True であるにも関わらず、result === ‘Exist’ の結果が false になっていた。</p> <p>“`main.js<br /> fetch(url, requestOptions)<br /> .then(response => response.text())<br /> .then(result => {<br /> if (result === ‘Exist’) {<br /> alert(‘存在します。’);<br /> } else {<br /> alert(‘存在しません。’);<br /> }<br /> })<br /> “`</p> <p>ログを見ると、res</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>JavaScript</div> <div class='tag-cloud-link'>AWS</div> <div class='tag-cloud-link'>lambda</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/quryu/items/dfb457273a9c99f1bdfe'>元記事を表示</a></div> <h3 id="outline__10"><a href='https://qiita.com/oktaSI/items/223515dcc8214175c726'>【GAS】①Classroomの一覧を取得する</a></h3> <blockquote><p># はじめに</p> <p>GASによるコーディングをする際、spreadsheetやgmail、drive等は基本サービスであるGoogle Workspaceサービス内に含まれているため、書籍も含めて情報が比較的豊富に存在している。その一方でClassroomはAdvanced Googleサービスに含まれるため情報が乏しく、公式マニュアルも現在は使えないメソッドがそのまま書かれていたりと整備が追いついていない状況も見受けられる。ここではそのような状況に鑑み、ClassroomをGASで扱うために必要な基本的な知識を整理していく。</p> <p>筆者のGAS開発歴は3ヶ月にも満たないため、表現や説明も適切ではない部分が多々あるだろうがご容赦願いたい。</p> <p># サービスの追加</p> <p>GASでClassroomに関するものを扱うためには、スクリプトエディタで「Google Classroom API」サービスを追加する必要がある。最新のIDEでは「サービス」→「Google Classroom API」を選択→「追加」で設定可能。</p> <p># Classroomの一覧を取得</p> <p>バインドされていないスプレッドシートをGAS</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>JavaScript</div> <div class='tag-cloud-link'>gas</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/oktaSI/items/223515dcc8214175c726'>元記事を表示</a></div> <h3 id="outline__11"><a href='https://qiita.com/hakusai_it/items/22be90025fbcd1c3e9e7'>Reduxの基本をまとめてみた</a></h3> <blockquote><p># はじめに<br /> 主に[公式のチュートリアル](https://redux.js.org/tutorials/essentials/part-1-overview-concepts)を参照しながらReduxを勉強したので簡単に記事にまとめようと思います。<br /> (React公式もそうですが、フロント系の公式ドキュメントは記載がとても丁寧で助かりますね。)<br /> もし誤り等ありましたらコメントでご指摘いただけますと助かります :bow:</p> <p># Reduxとは?<br /> UIが持つ状態(state)を管理するためのJSのライブラリです。(VueやAngularに使うこともできますが、Reactと最も相性が良いです。)<br /> Reactのようなフロントのフレームワークにおいてコンポーネントのstateをどのように管理するかは、パフォーマンスやメンテナンス性にも関わる重要な命題であると思います。(僕自身よく頭を悩ませます。。)<br /> Hooks(useReducer)を使用した管理方法などもありますが、Reduxはstoreというコンポーネントとは独立した場所でグローバルにstateを管理するライブラリです。基本的にstateの</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>JavaScript</div> <div class='tag-cloud-link'>React</div> <div class='tag-cloud-link'>redux</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/hakusai_it/items/22be90025fbcd1c3e9e7'>元記事を表示</a></div> <h3 id="outline__12"><a href='https://qiita.com/y-hira18/items/2a0f18a293d03788b19e'>【配列】forEach・map・filter・find・some・reduce</a></h3> <blockquote><p># 処理概要<br /> ## forEach<br /> – 配列中のそれぞれの要素について関数を実行する</p> <p>“`js<br /> const numbers = [1, 2, 3, 4];</p> <p>numbers.forEach(num=> console.log(num));</p> <p>// 出力<br /> // 1<br /> // 2<br /> // 3<br /> // 4<br /> “`</p> <p>## map<br /> – 配列内のすべての要素に指定した関数を実行する<br /> – 関数の結果を格納した新しい配列を生成する</p> <p>“`js<br /> const numbers = [1, 2, 3, 4];<br /> const squares = numbers.map((num) => {<br /> return num * num;<br /> });</p> <p>console.log(numbers); // [1, 2, 3, 4]<br /> console.log(squares); // [1, 4, 9, 16]<br /> “`</p> <p>## filter<br /> – 指定した関数の結果が `true` を返す配列中の要素を格納した新しい配列を生成する</p> <p>“`js<br /> const numbers = [1, 2, 3, 4];<br /> const evenNumber</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>JavaScript</div> <div class='tag-cloud-link'>TypeScript</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/y-hira18/items/2a0f18a293d03788b19e'>元記事を表示</a></div> <h3 id="outline__13"><a href='https://qiita.com/hiro_nr825/items/63d1d0a20bea3269c37a'>【JavaScript】axiosでCSVを受け取りブラウザでファイルダウンロードに移行させる方法。</a></h3> <blockquote> <p># 前提<br /> サーバーサイドはLaravel、フロントはVue.jsです。<br /> 今回はJavaScriptの話がメインなのでPHPやLaravelが分からない方でも支障なく読んでいただけると思います。</p> <p># やりたかったこと<br /> ユーザー目線:ブラウザに表示されているダウンロードボタンをクリックすると、CSVファイルをダウンロードできる。</p> <p>僕目線:LaravelでCSVを吐き出すAPIを用意し、axiosを使ってAPIを叩きCSVをダウンロードできるようにする。<br /> #起こった問題<br /> ブラウザの検索タブでエンドポイントに直接アクセスするとうまくダウンロードできるが、axiosを使ってエンドポイントにアクセスするとダウンロードできない。(CSVの内容はデータとして返ってくるが、ブラウザがダウンロード画面に移行しない。)<br /> # 失敗した方法<br /> CSVを返すAPIを単純に叩いてダウンロードできると思ったのですが、うまくいきませんでした。<br /> ※関係ない部分は色々省略してます。</p> <p>“`Javascript:sample.js<br /> downloadCsv() {<br /> axios<br /> .get(“/api/</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>PHP</div> <div class='tag-cloud-link'>JavaScript</div> <div class='tag-cloud-link'>Laravel</div> <div class='tag-cloud-link'>Vue.js</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/hiro_nr825/items/63d1d0a20bea3269c37a'>元記事を表示</a></div> <h3 id="outline__14"><a href='https://qiita.com/akitkat/items/6af26de0af8ebd0c549c'>Laravel Mixで環境に応じて複数の.envで環境変数を管理する</a></h3> <blockquote><p># はじめに<br /> こんにちは。先日、ランニングシューズ以外でいい靴を買ってしまいました、筆者です:smile:</p> <p>さて、LaravelでWebpack使っているので、**Laravel Mix**を使用しております。</p> <p>その際に**.env**で環境変数を分ける機会がありましたので、共有します。</p> <p># 結論<br /> 急いでいる方はこちらご参照くださいませ。**Laravel Mix**のドキュメントの書いてあるんです:ok_hand:<br /> (ただ、スター:star:が超少ないのが気になります…:thinking:)</p> <p>https://laravel-mix.com/extensions/env-file</p> <p># 解説<br /> ## 1. `mix-env-file` をインストールする。<br /> “`sh<br /> $ npm install mix-env-file<br /> “`</p> <p>## 2. `dotenv` をインストールする。<br /> あとでコンパイルするときにインストールしろと怒られるのでこちらもインストールします。<br /> (ドキュメントには書いてないんです:sob:)</p> <p>“`sh<br /> $ npm install dotenv<br /> “</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>JavaScript</div> <div class='tag-cloud-link'>Laravel</div> <div class='tag-cloud-link'>webpack</div> <div class='tag-cloud-link'>dotenv</div> <div class='tag-cloud-link'>Laravel-Mix</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/akitkat/items/6af26de0af8ebd0c549c'>元記事を表示</a></div> <h3 id="outline__15"><a href='https://qiita.com/momokan928/items/f86f9fb8bfc1d9eec176'>【JavaScript】別ファイルに関数をまとめてexportsを利用して呼び出す。</a></h3> <blockquote><p># 開発環境<br /> React.js</p> <p># 概要<br /> JavaScriptで関数を共通化して別ファイルにまとめたときに、HTMLのscriptタグを使い呼び出すのは面倒だと思いました。JavaScriptのexportsを使い呼び出すことができることを知りましたので記事にしておきます。</p> <p>## import.jsとexport.jsファイルを作成<br /> import.jsからexport.jsの関数を呼び出していきます。</p> <p>“`javascript:export.js<br /> exports.criminalIsKogoro = function () {<br /> console.log(“犯人は毛利小五郎”);<br /> }</p> <p>exports.detectiveCriminal = function (name) {<br /> console.log(“犯人は” + name);<br /> }</p> <p>const criminalIsAgasa = function () {<br /> console.log(“犯人は阿笠だ”);<br /> }<br /> “`<br /> 比較するためにcriminalIsAgasaだけはexportsしないようにしておきます。</p> <p>“`j</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>JavaScript</div> <div class='tag-cloud-link'>Node.js</div> <div class='tag-cloud-link'>Vue.js</div> <div class='tag-cloud-link'>React</div> <div class='tag-cloud-link'>next.js</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/momokan928/items/f86f9fb8bfc1d9eec176'>元記事を表示</a></div> <h3 id="outline__16"><a href='https://qiita.com/iwasaki-hub/items/41e8c6ef5bcaafb10d85'>React 入門 (#2) ~Babel&JSX~</a></h3> <blockquote><p>#1,Babelとは<br /> ![2021-03-14_14h24_31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654025/04695def-887c-6ddf-619e-5888d868cf84.png)</p> <p>ES6以降のスクリプトを、ES2015基準のスクリプトにトランスパイルする機能です。</p> <p>下記のタグをheadタグに記述すれば準備完了です。</p> <p>“`javascript:index.html<br /> <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script><br /> “`<br /> [Babelリンク](https://babeljs.io/setup#installation)</p> <p>#2,JSXを使う理由<br /> Reactはマークアップとロジックを両方含む疎結合の「**コンポーネント**」という単位で構成されます。<br /> 「**コンポーネント**」は、次回説明します。<br /> そこで活躍するのが、**JSX**(「**JavaScript XML**」の</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>JavaScript</div> <div class='tag-cloud-link'>JSX</div> <div class='tag-cloud-link'>React</div> <div class='tag-cloud-link'>babel</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/iwasaki-hub/items/41e8c6ef5bcaafb10d85'>元記事を表示</a></div> <h3 id="outline__17"><a href='https://qiita.com/baby-degu/items/976ccda197aae03ae3bf'>Node.js開発者なら知っておきたい便利なパッケージ12選</a></h3> <blockquote><p>本記事は、[Indrek Lasn](https://indreklasn.medium.com/)氏による「[12 Useful Packages Every Node.js Developer Should Know](https://betterprogramming.pub/12-useful-packages-every-node-js-developer-should-know-2746db760e)」(2020年9月2日公開)の和訳を、著者の許可を得て掲載しているものです。</p> <p>#Node.js開発者なら知っておきたい便利なパッケージ12選</p> <p>>毎日の生産性を上げるNodeパッケージ</p> <p>![Image for post](https://miro.medium.com/max/600/1*4_n18FH8hRrvlLyRufD1sQ.png)</p> <p>##はじめに</p> <p>Node.jsはコードの再利用にぴったりです。コードを再利用するための根幹となるのはNPMパッケージです。</p> <p>NPMパッケージは、時間と労力を大幅に節約してくれます。日付ライブラリが必要ですか?パッケージがあります。</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>JavaScript</div> <div class='tag-cloud-link'>Node.js</div> <div class='tag-cloud-link'>プログラミング</div> <div class='tag-cloud-link'>翻訳</div> <div class='tag-cloud-link'>React</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/baby-degu/items/976ccda197aae03ae3bf'>元記事を表示</a></div> <h3 id="outline__18"><a href='https://qiita.com/tmoka0729/items/4224b90f6c73cd0d38b8'>JavaScriptで配列に使えるメソッドまとめ</a></h3> <blockquote><p>## 配列を作成したい<br /> “`js<br /> // 配列リテラルを使う<br /> const array1 = [1,2,3]</p> <p>// Arrayコンストラクタを使う<br /> const array2 = new Array(4,5,6)<br /> const array3 = Array(7,8,9)</p> <p>// Array.fromを使う<br /> const arrayLike = { length:3, ‘0’:’Tokyo’, ‘1’:’Osaka’, ‘2’:’Fukuoka’ }<br /> const cities = Array.from(arrayLike)</p> <p>// ファクトリー関数Array.ofを使う<br /> const array4 = Array.of(‘USA’, ‘Japan’, ‘China’)<br /> “`</p> <p>## 配列かどうか確認したい<br /> “`js<br /> const str = ‘string’<br /> const num = 2021<br /> const array = [1,2,3]</p> <p>Array.isArray(array) // => true<br /> Array.isArray(str) // => false<br /> Array.isArray(nu</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>JavaScript</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/tmoka0729/items/4224b90f6c73cd0d38b8'>元記事を表示</a></div> <h3 id="outline__19"><a href='https://qiita.com/FJHoshi/items/7012871f9480f6ba08f8'>実務でよく使うVueのv-bind:classの使い方4つ</a></h3> <blockquote><p>v-bind:classはVueで使えるv-bindディレクティブの一つです。<br /> [公式](https://jp.vuejs.org/v2/guide/class-and-style.html)で紹介されてるものより、個人的には使い勝手がいいなと思う方法など、自分がよく使う4パターンを紹介します。</p> <p>##1.真偽値に対して複数クラス<br /> 例:アクティブの時はテキストを青くして背景をグレーにしたい</p> <p>“`vuejs:sample.vue</p> <div :class="{'text-blue bg-grey': isActive}"></div> <p>“`</p> <p>##2.複数の真偽値<br /> 例:アクティブの時はテキストを青くして、選ばれている時は背景をグレーにしたい</p> <p>“`vuejs:sample.vue</p> <div :class="{ 'text-blue' : isActive , 'bg-grey' : isSelected }"></div> <p>“`</p> <p>##3.式(演算子)を使う<br /> 比較演算子や論理演算子を使って真偽値をかえします。</p> <p>“`vuejs:sample.vue</p> <div :class="{</blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>JavaScript</div> <div class='tag-cloud-link'>Vue.js</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/FJHoshi/items/7012871f9480f6ba08f8'>元記事を表示</a></div> <h3 id="outline__20"><a href='https://qiita.com/YUMA-NAGAO/items/5b8e632133bbcc29ff36'>M1 MacでLIFFとReactを使う際の環境構築</a></h3> <blockquote><p># 初めに<br /> 2021年3月の現在、[Open Hack U 2020 Online Vol.4](https://hacku.connpass.com/event/201528/)に挑戦しています。<br /> チームの制作物で、[LIFF (LINE Front-end Framework)](https://developers.line.biz/ja/docs/liff/overview/)を使ったものを作成することにしました。<br /> M1 Macbook AirでLIFFを使うのは、初めてです。<br /> そこで、環境構築などで詰まったところを書いておき、再度M1 MacでLIFFを使うときにつまらないようにするための備忘録です。</p> <p># 本記事の目的<br /> 本記事は、ハッカソンなどで、M1 Macbookを使う人のために書きました。<br /> 色々なアプリを作る時の候補として、LIFFを使ったアプリ開発に挑戦してみては、いかがでしょうか?</p> <p># 詰まったところ<br /> 参考記事1を進めていたところ、`yarn`がうまく使えないことがわかりました。<br /> そのため、現時点でのM1チップのMacでは、`yarn`を使うのをやめましょう。</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>JavaScript</div> <div class='tag-cloud-link'>TypeScript</div> <div class='tag-cloud-link'>React</div> <div class='tag-cloud-link'>linebot</div> <div class='tag-cloud-link'>LIFF</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/YUMA-NAGAO/items/5b8e632133bbcc29ff36'>元記事を表示</a></div> </div> </section> <!-- 記事下シェアボタン --> <aside> <ul class="socialList"> <li class="socialList__item"><a class="socialList__link icon-facebook" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fmiofactor.com%2F2021%2F03%2F16%2Fpost-10544%2F&t=JavaScript%E9%96%A2%E9%80%A3%E3%81%AE%E3%81%93%E3%81%A8%E3%82%92%E8%AA%BF%E3%81%B9%E3%81%A6%E3%81%BF%E3%81%9F2021%E5%B9%B403%E6%9C%8816%E6%97%A5" target="_blank" title="Facebookで共有"></a></li><li class="socialList__item"><a class="socialList__link icon-twitter" href="http://twitter.com/intent/tweet?text=JavaScript%E9%96%A2%E9%80%A3%E3%81%AE%E3%81%93%E3%81%A8%E3%82%92%E8%AA%BF%E3%81%B9%E3%81%A6%E3%81%BF%E3%81%9F2021%E5%B9%B403%E6%9C%8816%E6%97%A5&https%3A%2F%2Fmiofactor.com%2F2021%2F03%2F16%2Fpost-10544%2F&url=https%3A%2F%2Fmiofactor.com%2F2021%2F03%2F16%2Fpost-10544%2F" target="_blank" title="Twitterで共有"></a></li><li class="socialList__item"><a class="socialList__link icon-line" href="http://line.naver.jp/R/msg/text/?JavaScript%E9%96%A2%E9%80%A3%E3%81%AE%E3%81%93%E3%81%A8%E3%82%92%E8%AA%BF%E3%81%B9%E3%81%A6%E3%81%BF%E3%81%9F2021%E5%B9%B403%E6%9C%8816%E6%97%A5%0D%0Ahttps%3A%2F%2Fmiofactor.com%2F2021%2F03%2F16%2Fpost-10544%2F" target="_blank" title="LINEで送る"></a></li></ul> </aside> <!-- /記事下シェアボタン --> <!-- 記事下エリア[widget] --> <aside class="widgetPost widgetPost-bottom"><aside class="widget widget-post"><h2 class="heading heading-primary">タグ</h2><div class="tagcloud"><a href="https://miofactor.com/tag/%e3%81%9d%e3%81%ae%e4%bb%96/" class="tag-cloud-link tag-link-13 tag-link-position-1" style="font-size: 8pt;" aria-label="その他 (1個の項目)">その他</a></div> </aside></aside> <!-- /記事下エリア[widget] --> <!-- 関連記事 --> <aside class="related"><h2 class="heading heading-primary">関連する記事</h2><ul class="related__list"> <li class="related__item"> <a class="related__imgLink" href="https://miofactor.com/2020/01/14/post-2157/" title="AWS関連のことを調べてみた2020年01月14日"> <img src="https://miofactor.com/wp-content/uploads/2019/10/aws-150x150.jpg" alt="AWS関連のことを調べてみた2020年01月14日" width="150" height="150" > </a> <h3 class="related__title"> <a href="https://miofactor.com/2020/01/14/post-2157/">AWS関連のことを調べてみた2020年01月14日</a> <span class="icon-calendar">2020.01.14</span> </h3> <p class="related__contents">目次 1. 【これからプログラミング&クラウドを始める人向け】AWS Cloud9 を利用して Ruby の開発環境を作ってみる② R[…]</p> </li> <li class="related__item"> <a class="related__imgLink" href="https://miofactor.com/2024/05/02/post-33086/" title="Android関連のことを調べてみた"> <img src="https://miofactor.com/wp-content/uploads/2019/10/android-150x150.jpg" alt="Android関連のことを調べてみた" width="150" height="150" > </a> <h3 class="related__title"> <a href="https://miofactor.com/2024/05/02/post-33086/">Android関連のことを調べてみた</a> <span class="icon-calendar">2024.05.02</span> </h3> <p class="related__contents">目次 1. 【Android】アプリ署名時の証明書情報を確認する2. Dagger Hiltを使いましょう3. [Android] ViewPager[…]</p> </li> <li class="related__item"> <a class="related__imgLink" href="https://miofactor.com/2022/02/19/post-16798/" title="Rails関連のことを調べてみた2022年02月19日"> <img src="https://miofactor.com/wp-content/uploads/2019/10/rails-150x150.png" alt="Rails関連のことを調べてみた2022年02月19日" width="150" height="150" > </a> <h3 class="related__title"> <a href="https://miofactor.com/2022/02/19/post-16798/">Rails関連のことを調べてみた2022年02月19日</a> <span class="icon-calendar">2022.02.19</span> </h3> <p class="related__contents">目次 1. Rails ToDoアプリ タスク管理アプリ (期限切れ・締め切り順・完了ボタン)2. Ignoring racc-1.5.2 becau[…]</p> </li> </ul></aside> <!-- /関連記事 --> <!-- コメント --> <!-- /コメント --> <!-- PVカウンター --> <!-- /PVカウンター --> </main> <!-- /l-main --> <!-- l-sidebar --> <div class="l-sidebar"> <aside class="widget"> <div class="searchBox"> <form class="searchBox__form" method="get" target="_top" action="https://miofactor.com/" > <input class="searchBox__input" type="text" maxlength="50" name="s" placeholder="記事検索"><button class="searchBox__submit icon-search" type="submit" value="search"> </button> </form> </div></aside><aside class="widget"><h2 class="heading heading-widget">Category</h2> <ul> <li class="cat-item cat-item-1"><a href="https://miofactor.com/category/other/">OTHER</a> </li> </ul> </aside><aside class="widget"><h2 class="heading heading-widget">Back number</h2> <ul> <li><a href='https://miofactor.com/2024/09/'>2024年9月</a></li> <li><a href='https://miofactor.com/2024/08/'>2024年8月</a></li> <li><a href='https://miofactor.com/2024/07/'>2024年7月</a></li> <li><a href='https://miofactor.com/2024/06/'>2024年6月</a></li> <li><a href='https://miofactor.com/2024/05/'>2024年5月</a></li> <li><a href='https://miofactor.com/2024/04/'>2024年4月</a></li> <li><a href='https://miofactor.com/2024/03/'>2024年3月</a></li> <li><a href='https://miofactor.com/2024/02/'>2024年2月</a></li> <li><a href='https://miofactor.com/2024/01/'>2024年1月</a></li> <li><a href='https://miofactor.com/2023/12/'>2023年12月</a></li> <li><a href='https://miofactor.com/2023/11/'>2023年11月</a></li> <li><a href='https://miofactor.com/2023/10/'>2023年10月</a></li> <li><a href='https://miofactor.com/2023/09/'>2023年9月</a></li> <li><a href='https://miofactor.com/2023/08/'>2023年8月</a></li> <li><a href='https://miofactor.com/2023/07/'>2023年7月</a></li> <li><a href='https://miofactor.com/2023/04/'>2023年4月</a></li> <li><a href='https://miofactor.com/2023/03/'>2023年3月</a></li> <li><a href='https://miofactor.com/2023/02/'>2023年2月</a></li> <li><a href='https://miofactor.com/2023/01/'>2023年1月</a></li> <li><a href='https://miofactor.com/2022/12/'>2022年12月</a></li> <li><a href='https://miofactor.com/2022/11/'>2022年11月</a></li> <li><a href='https://miofactor.com/2022/10/'>2022年10月</a></li> <li><a href='https://miofactor.com/2022/09/'>2022年9月</a></li> <li><a href='https://miofactor.com/2022/08/'>2022年8月</a></li> <li><a href='https://miofactor.com/2022/07/'>2022年7月</a></li> <li><a href='https://miofactor.com/2022/06/'>2022年6月</a></li> <li><a href='https://miofactor.com/2022/05/'>2022年5月</a></li> <li><a href='https://miofactor.com/2022/04/'>2022年4月</a></li> <li><a href='https://miofactor.com/2022/03/'>2022年3月</a></li> <li><a href='https://miofactor.com/2022/02/'>2022年2月</a></li> <li><a href='https://miofactor.com/2022/01/'>2022年1月</a></li> <li><a href='https://miofactor.com/2021/12/'>2021年12月</a></li> <li><a href='https://miofactor.com/2021/11/'>2021年11月</a></li> <li><a href='https://miofactor.com/2021/10/'>2021年10月</a></li> <li><a href='https://miofactor.com/2021/09/'>2021年9月</a></li> <li><a href='https://miofactor.com/2021/08/'>2021年8月</a></li> <li><a href='https://miofactor.com/2021/07/'>2021年7月</a></li> <li><a href='https://miofactor.com/2021/06/'>2021年6月</a></li> <li><a href='https://miofactor.com/2021/05/'>2021年5月</a></li> <li><a href='https://miofactor.com/2021/04/'>2021年4月</a></li> <li><a href='https://miofactor.com/2021/03/'>2021年3月</a></li> <li><a href='https://miofactor.com/2021/02/'>2021年2月</a></li> <li><a href='https://miofactor.com/2021/01/'>2021年1月</a></li> <li><a href='https://miofactor.com/2020/12/'>2020年12月</a></li> <li><a href='https://miofactor.com/2020/11/'>2020年11月</a></li> <li><a href='https://miofactor.com/2020/10/'>2020年10月</a></li> <li><a href='https://miofactor.com/2020/09/'>2020年9月</a></li> <li><a href='https://miofactor.com/2020/08/'>2020年8月</a></li> <li><a href='https://miofactor.com/2020/07/'>2020年7月</a></li> <li><a href='https://miofactor.com/2020/06/'>2020年6月</a></li> <li><a href='https://miofactor.com/2020/05/'>2020年5月</a></li> <li><a href='https://miofactor.com/2020/04/'>2020年4月</a></li> <li><a href='https://miofactor.com/2020/03/'>2020年3月</a></li> <li><a href='https://miofactor.com/2020/02/'>2020年2月</a></li> <li><a href='https://miofactor.com/2020/01/'>2020年1月</a></li> <li><a href='https://miofactor.com/2019/12/'>2019年12月</a></li> <li><a href='https://miofactor.com/2019/11/'>2019年11月</a></li> <li><a href='https://miofactor.com/2019/10/'>2019年10月</a></li> </ul> </aside> </div> <!-- /l-sidebar --> </div> <!-- /l-wrapper --> <div class="categoryBox"> <div class="container"> <h2 class="heading heading-primary"> <span class="heading__bg u-txtShdw bgc-darkgray">OTHER</span>カテゴリの最新記事 </h2> <ul class="categoryBox__list"> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/19/post-36890/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/js-554x410.png" alt="JavaScript関連のことを調べてみた" width="554" height="410" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.19</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/19/post-36890/">JavaScript関連のことを調べてみた</a> </h2> </li> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/19/post-36891/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/java.jpg" alt="JAVA関連のことを調べてみた" width="540" height="270" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.19</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/19/post-36891/">JAVA関連のことを調べてみた</a> </h2> </li> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/19/post-36894/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/ios-554x410.png" alt="iOS関連のことを調べてみた" width="554" height="410" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.19</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/19/post-36894/">iOS関連のことを調べてみた</a> </h2> </li> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/19/post-36888/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/rails-725x410.png" alt="Rails関連のことを調べてみた" width="725" height="410" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.19</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/19/post-36888/">Rails関連のことを調べてみた</a> </h2> </li> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/19/post-36884/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/lambda.png" alt="Lambda関連のことを調べてみた" width="360" height="230" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.19</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/19/post-36884/">Lambda関連のことを調べてみた</a> </h2> </li> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/19/post-36886/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/python-640x410.png" alt="Python関連のことを調べてみた" width="640" height="410" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.19</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/19/post-36886/">Python関連のことを調べてみた</a> </h2> </li> </ul> </div> </div> <!-- schema --> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Article ", "mainEntityOfPage":{ "@type": "WebPage", "@id": "https://miofactor.com/2021/03/16/post-10544/" }, "headline": "JavaScript関連のことを調べてみた2021年03月16日", "image": { "@type": "ImageObject", "url": "https://miofactor.com/wp-content/uploads/2019/10/python-640x410.png", "height": "410", "width": "640" }, "datePublished": "2021-03-16T11:50:28+0900", "dateModified": "2021-03-16T11:50:28+0900", "author": { "@type": "Person", "name": "editor" }, "publisher": { "@type": "Organization", "name": "f@ctor", "logo": { "@type": "ImageObject", "url": "", "width": "", "height":"" } }, "description": "目次 1. Vue + ECharts でウィンドウサイズの変更に合わせてグラフをリサイズする2. Rails6のwebpackerを使って、JSを表示するまでのログ3. 【JavaScript】要素ノードの取得方法4. JavaScript,モジュールについて5. Gatsby公式チュートリアルでややハマったこと6. Adjacent JSX elements must be wrapped i […]" } </script> <!-- /schema --> <!--l-footer--> <footer class="l-footer"> <div class="container"> <div class="pagetop u-txtShdw"><a class="pagetop__link" href="#top">Back to Top</a></div> <div class="widgetFoot"> <div class="widgetFoot__contents"> </div> <div class="widgetFoot__contents"> <aside class="widget widget-foot"><h2 class="heading heading-footer">タグ</h2><div class="tagcloud"><a href="https://miofactor.com/tag/%e3%81%9d%e3%81%ae%e4%bb%96/" class="tag-cloud-link tag-link-13 tag-link-position-1" style="font-size: 8pt;" aria-label="その他 (1個の項目)">その他</a></div> </aside> </div> <div class="widgetFoot__contents"> </div> </div> <div class="copySns "> <div class="copySns__copy"> © Copyright 2024 <a class="copySns__copyLink" href="https://miofactor.com">f@ctor</a>. <span class="copySns__copyInfo u-none"> f@ctor by <a class="copySns__copyLink" href="http://fit-jp.com/" target="_blank">FIT-Web Create</a>. Powered by <a class="copySns__copyLink" href="https://wordpress.org/" target="_blank">WordPress</a>. </span> </div> </div> </div> </footer> <!-- /l-footer --> <script type="text/javascript" src="https://miofactor.com/wp-includes/js/comment-reply.min.js?ver=6.4.1" id="comment-reply-js" async="async" data-wp-strategy="async"></script> <script> function toggle__search(){ extra__search.className="l-extra"; extra__menu.className="l-extraNone"; menuNavi__search.className = "menuNavi__link menuNavi__link-current icon-search "; menuNavi__menu.className = "menuNavi__link icon-menu"; } function toggle__menu(){ extra__search.className="l-extraNone"; extra__menu.className="l-extra"; menuNavi__search.className = "menuNavi__link icon-search"; menuNavi__menu.className = "menuNavi__link menuNavi__link-current icon-menu"; } </script><script>Array.prototype.forEach.call(document.getElementsByClassName("css-async"),function(e){e.rel = "stylesheet"});</script> </body> </html>