Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
From Traditional Web to Modern Web
Search
Neo Kusanagi
July 19, 2018
Technology
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
From Traditional Web to Modern Web
Neo Kusanagi
July 19, 2018
More Decks by Neo Kusanagi
See All by Neo Kusanagi
Claude Cowork for Begineers
neokn
0
150
WebConf 2025 - 工程師和 AI 小隊
neokn
0
29
使用 Genkit 以及 Gemini 打造你的 Agentic ChatBot
neokn
0
80
Chat Bot 的隱藏知識庫 - RAG 外的第二種選擇
neokn
0
120
From Commit to Mulitverse
neokn
0
240
AUGM 2017 Electron talk
neokn
0
110
Other Decks in Technology
See All in Technology
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
190
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
150
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.4k
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
150
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
730
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
160
大型犬好きによるPugの紹介
yamanoku
1
160
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
230
継続的なAIコスト最適化
bgpat
1
340
S3 Filesで挑む! 八戸せんべい汁の食べ頃問題
usanchuu
0
100
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
280
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
150
Featured
See All Featured
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
360
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Git: the NoSQL Database
bkeepers
PRO
433
67k
The Curse of the Amulet
leimatthew05
3
16k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
560
Ruling the World: When Life Gets Gamed
codingconduct
0
400
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
500
Paper Plane (Part 1)
katiecoart
PRO
2
12k
A Soul's Torment
seathinner
8
3.8k
Transcript
modern web
few years ago 1st Modern Web
None
None
None
None
None
None
None
None
None
None
None
None
None
None
Our site already done for it
Our site already done for it
None
None
Traditional
None
None
None
None
None
None
None
Back to Space
None
None
None
None
None
None
None
None
<script src="//cdn.jsdelivr.net/npm/vue"></script>
yarn global add @vue/cli
var app = new Vue({ el: '#app', data: { message:
'Hello Vue!' } }) <div id="app"> {{ message }} </div>
None
None
Prod M Prod P Prod N Prod U Prod S
Prod J Prod A Prod E Prod V
product-list.cshtml <div class="prod-list"> @foreach (var item in Model.Products) { <div
class="@item.ProdCategoryClass"> @if (item.IsNew) { <div class="new-ribbon">@Resource.New</div> } <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
<div class="prod-list"> @foreach (var item in Model.Products) { <div class="@item.ProdCategoryClass">
@if (item.IsNew) { <div class="new-ribbon">@Resource.New</div> } <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
<div class="prod-list"> @foreach (var item in Model.Products) { <div class="@item.ProdCategoryClass">
@if (item.IsNew) { <div class="new-ribbon">@Resource.New</div> } <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
<div class="prod-list"> @foreach (var item in Model.Products) { <div class="@item.ProdCategoryClass">
@if (item.IsNew) { <div class="new-ribbon">@Resource.New</div> } <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
<div class="prod-list"> @foreach (var item in Model.Products) { <div class="@item.ProdCategoryClass">
@if (item.IsNew) { <div class="new-ribbon">@Resource.New</div> } <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
None
None
Prod M Prod P Prod N Prod U Prod S
Prod J Prod A Prod E Prod V
<div class="prod-list"> @foreach (var item in Model.Products) { <div class="@item.ProdCategoryClass">
@if (item.IsNew) { <div class="new-ribbon">@Resource.New</div> } <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
None
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ Resource.New }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ Resource.New }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ Resource.New }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ Resource.New }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ Resource.New }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ Resource.New }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ Resource.New }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ Resource.New }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ Resource.New }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
None
<div class="prod-list"> @foreach (var item in Model.Products) { <div class="@item.ProdCategoryClass">
@if (item.IsNew) { <div class="new-ribbon">@Resource.New</div> } else if (item.IsSoldOut) { <div class="sold-out-ribbon">@Resource.SoldOut</div> } <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
None
<div class="prod-list"> @foreach (var item in Model.Products) { <div class="@item.ProdCategoryClass">
@if (item.IsNew) { <div class="new-ribbon">@Resource.New</div> } <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
<div id="vue-scope" class="prod-list"> ~~~~~~ </div> <script> var vueApp = new
Vue({ el: '#vue-scope', }); </script>
<div id="vue-scope" class="prod-list"> @foreach (var item in Model.Products) { <div
class="@item.ProdCategoryClass"> @if (item.IsNew) { <div class="new-ribbon">@Resource.New</div> } <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
<div id="vue-scope" class="prod-list"> @foreach (var item in Model.Products) { <div
class="@item.ProdCategoryClass"> <div v-if="@item.IsNew.ToString().ToLower()" class="new-ribbon"> @Resource.New </div> <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
<div id="vue-scope" class="prod-list"> @foreach (var item in Model.Products) { <div
class="@item.ProdCategoryClass"> <div v-if="@item.IsNew.ToString().ToLower()" class="new-ribbon"> @Resource.New </div> <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div> v-if="true" or v-if="false"
<div id="vue-scope" class="prod-list"> @foreach (var item in Model.Products) { <div
class="@item.ProdCategoryClass"> <div v-if="@item.IsNew.ToString().ToLower()" class="new-ribbon"> @Resource.New </div> <div v-else-if="@item.IsSoldOut.ToString().ToLower()" class="sold-out-ribbon"> @Resource.SoldOut </div> <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
None
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">@Resource.New</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(@Model.ImgCdnUrl/${item.iconPath}
[email protected]
)`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">@Resource.New</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(@Model.ImgCdnUrl/${item.iconPath}
[email protected]
)`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
None
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">@Resource.New</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: @Html.Raw(JsonConvert.SerializeObject(Model)), }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">@Resource.New</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: @Html.Raw(JsonConvert.SerializeObject(Model)), }); </script> “sensitive data”
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">@Resource.New</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: @Html.Raw(JsonConvert.SerializeObject(Model)), }); </script> “sensitive data” public class DemoViewModel { [JsonIgnore] public string SensitiveData }
None
None
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">@Resource.New</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: @Html.Raw(JsonConvert.SerializeObject(Model)), }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ _resource.new }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ mixins: [$resource], el: '#vue-scope’, data: @Html.Raw(JsonConvert.SerializeObject(Model)), }); </script> <script> var $resource = { data: function() { return { _resource: { new: "@Resource.New", }, }; }, }; </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ _resource.new }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ mixins: [$resource], el: '#vue-scope’, data: @Html.Raw(JsonConvert.SerializeObject(Model)), }); </script> <script> var $resource = { data: function() { return { _resource: { new: "@Resource.New", }, }; }, }; </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ _resource.new }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ mixins: [$resource], el: '#vue-scope’, data: @Html.Raw(JsonConvert.SerializeObject(Model)), }); </script> <script> var $resource = { data: function() { return { _resource: { new: "@Resource.New", }, }; }, }; </script>
None
None
<div id="vue-scope" class="prod-list"> <item-component v-for="item in products" :item="item" :img-cdn-url="ImgCdnUrl" :img-version="ImgVersion"
/> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: @Html.Raw(JsonConvert.SerializeObject(Model)), }); </script>
<template id="item-template"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew" class="new-ribbon">{{
_resource.new }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </template> <script> var ItemComponent = Vue.component('item-component', { template: '#item-template', mixins: [$resource], props: ['item', 'imgCdnUrl', 'imgVersion'], }); </script>
<template id="item-template"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew" class="new-ribbon">{{
_resource.new }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </template> <script> var ItemComponent = Vue.component('item-component', { template: '#item-template’, mixins: [$resource], props: ['item', 'imgCdnUrl', 'imgVersion'], }); </script>
<template id="item-template"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew" class="new-ribbon">{{
_resource.new }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </template> <script> var ItemComponent = Vue.component('item-component', { template: '#item-template’, mixins: [$resource], props: ['item', 'imgCdnUrl', 'imgVersion'], }); </script>
None
None
None
None
None
None
None
None
None
None
[email protected]