【建站服务】【网站建设】上海网站制作-上海网络公司-上海网页设计-上海网店美工-上海网站开发-域名申请
作者: 风兰 . 阅读量: 2 . 发表时间:2022-09-20 16:07:35
上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
【网站建设】上海网站制作-上海网络公司-上海网页设计-上海网店美工-上海网站开发

上海,简称“沪”或“申”,是中华人民共和国省级行政区、直辖市、国家中心城市、超大城市、上海大都市圈核心城市,国务院批复确定的中国国际经济、金融、贸易、航运、科技创新中心 [1] 。截至2019年,全市下辖16个区,总面积6340.5平方千米,建成区面积1237.85平方千米 [2-5] 。2020年11月1日零时,常住人口2487.09万人。 [168]
上海地处中国东部、长江入海口、东临东中国海,北、西与江苏、浙江两省相接 [6-7] ,界于东经120°52′-122°12′,北纬30°40′-31°53′之间。战国时,上海是春申君的封邑,故别称申。晋朝时,因渔民创造捕鱼工具“扈”,江流入海处称“渎”,因此松江下游一带称为“扈渎”,后又改“沪”,故上海简称“沪”。
2020年,上海市地区生产总值38700.58亿元,按可比价格计算,比上年增长1.7%。 [8] 2019年12月15日,荣登中国社会科学院年度中国城市品牌前10强。 [3] [9-10]
打开vscode,需要新建一个文件,这里就叫做Demo26.html,代码如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Demo26</title> <script src="https://cdn.bootcdn.net/ajax/libs/vue/3.0.2/vue.global.js"></script> </head> <body> <div id="app"></div> </body> <script> const app = Vue.createApp({ template:`<h2>mybj123.com</h2>` }) const vm= app.mount("#app") </script> </html>需要说明的是,这里没有引用官方的源,而是使用了bootcdn的源,就是为了方便大家等能够轻松访问到源。有了最基础的代码,我们再来声明一个全局组件Son。
app.component('Son',{ template:`<div>Son div</div>` })因为这个组件是全局的,所以定义好之后就可以直接使用了。(不用在注册声明了)
const app = Vue.createApp({ template:` <h2>mybj123.com</h2> <Son /> ` })使用后可以到浏览器中查看效果,如果正常,此时已经形成了父子组件关系。下面就可以讲解如何从父组件向子组件传值了。
子组件里的Son div是写死的,如果想动态的从父组件传递,可以使用属性的方式,然后子组件使用props进行接收。
比如我们在调用子组件的地方,通过属性name传递一个码云笔记的文字进去。
const app = Vue.createApp({ template:` <h2>mybj123.com</h2> <Son name="码云笔记" /> ` })传递后用props在子组件中进行接受,然后用插值表达式(双花括号{{name}})的形式进行打印出来。
app.component('Son',{ props:['name'], template:`<div>{{name}} div </div>` })这样就进行了参数的接收和显示。
上面代码传递的参数是写死的,不能进行业务逻辑的编写,也就是我们常说的静态参数。如果想让代码更加的灵活,这里可以使用动态参数的传递。动态参数传递首先要把传递参数放到Vue的数据项里,也就是data属性里。
例如在data中声明一个name属性,然后赋值为码云笔记。这时候需要在template中绑定这个name属性。这样你的值就不是静态的了,而是动态值。
const app = Vue.createApp({ data(){ return { name: "码云笔记" } }, template:` <h2>mybj123.com</h2> <Son v-bind:name="name" /> ` })当然v-bind:name也可以通过简写的方式,写成:name。改写后的代码如下:
template:` <h2>mybj123.com</h2> <Son :name="name" /> `
静态参数这里还有一个小坑需要说明一下,就是静态传递的只能是字符串类型
String,而动态传参的就可以是多种类型了,甚至是一个函数(方法).
传递参数的例子,在下面会详细讲解,这里先来看传递数字的例子。
举例说明,比如我们现在改回静态传参,而传递的内容是数字123,但在模板中使用typeof查看属性时,仍然是字符串(String)。
改为静态传参,参数为123:
template:` <h2>mybj123.com</h2> <Son name="123" /> `
在子组件用typeof查看类型,会发现仍然是string类型:
app.component('Son',{ props:['name'], template:`<div>{{ typeof name}} div </div>` })但是改为动态传参,就变成了数字类型。
const app = Vue.createApp({ data(){ return { name:123 } }, template:` <h2>mybj123.com</h2> <Son :name="name" /> ` })当使用动态传参时,参数几乎可以是任何类型,甚至是一个函数。下面我就举一个传递函数的例子,让你进一步的理解动态参数的作用。
需求是这样的,我们编写了一个XiaoJieJie的全局子组件,然后点击时,小姐姐会先说请付钱,然后我们传递函数的形式出给钱。
编写小姐姐的子组件:
app.component('XiaoJieJie',{ props:['pay'], methods:{ handleClick(){ alert('请付钱....') this.pay() // 付多少钱,是顾客说的算的,所以调用时才能确定 } }, template:`<div @click="this.handleClick"> 和小姐姐,打招呼! </div>` })在父组件调用的时候,pay是一个定义在data中的函数,然后用动态参数的形式进行调用。
const app = Vue.createApp({ data(){ return { name:123, pay:()=>{ alert('给你500元') } } }, template:` <h2>mybj123.com</h2> <Son :name="name" /> <xiao-jie-jie :pay="pay"/> ` }以上就是今天关于Vue父子组件的静态和动态传值的知识,下节我们继续讲解组件传值时的一些校验方法的编写
【网站建设】上海网站制作-上海网络公司-上海网页设计-上海网店美工-上海网站开发
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)
关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站


