①vue-初探
1、hello word
{{}}`:插值表达式,在标签中使用数据的语法; - `{{ "a" + "b" }}
:之间可以插入 js 表达式;{{ if(true){console.log} }}
:之间不可以插入 js 语句;
Vue.createApp({})
:创建Vue实例;Vue.createApp({}).mount('#root')
:在#root
节点置入Vue实例;template: <div>hello word</div>
:值为字符串,是在HTML中显示的内容,为Vue创建实例时传入对象的一部分;
1 | <body> |
2、counter
data() {return {content: 1}}
:值为函数,为template提供数据变量,也为Vue创建实例时传入对象的一部分;mounted() {}
:值为函数,当页面加载完成,执行该函数中的内容,可以按需写入js操作也为Vue创建实例时传入对象的一部分;
1 | <body> |
3、字符串反转
v-on:click="handleBtnClick"
:在DOM上监听点击事件;v-on:
可以缩写为@
:@click="handleBtnClick"
;- 动态属性:
@[event]:"handleClick"
,其中 event 需在 data(){return {event: “click”}} 中定义; <button v-on:click="handleBtnClick">显示/隐藏</button>
;
methods: {}
:值为对象,DOM绑定事件的方法可写在methods对象中,
1 | <body> |
4、内容隐藏
v-if="show"
:根据当前“data”中”show”的值,在DOM上判断该DOM是否应该展示;<span v-if="show">{{content}}</span>
1 | <body> |
5、双向绑定实现todo list
v-for="(item, index) of contentList"
:针对contentList[]数组进行循环;<li v-for="(item, index) of contentList">{{index + 1}}:{{item}}</li>
v-model="inputValue"
:数据和输入框进行双向绑定;<input v-model="inputValue"/>
1 | <body> |
6、TODO list组件化
v-bind:title="inputValue"
:在标签上某个属性绑定数据内容时使用;v-bind
可以省略::title="inputValue"
;- 动态属性:
:[name]:"message"
,其中 name 需在 data(){return {name: “title”}} 中定义; <button v-bind:title="inputValue">增加</button>
:为 title 属性绑定数据;<input v-bind:disabled="disable" />
:为 disabled 属性绑定数据;
v-bind="params"
:可以传递一个名为params的对象,以减少:title="inputValue"
在标签中的罗列;1
2
3
4params: {
xxx: aaa
ccc: bbb
}app.component("xxx", {})
:注册一个名为“xxx”的组件;props: ["content", "index"],
:- 在子组件中,通过父组件
v-bind:content="item"
,注册绑定属性“content”,并将该属性传入子组件; - 在子组件中再通过
props: ["content", "index"],
注册,组件中就可以使用{{content}}
;
- 在子组件中,通过父组件
1 | <body> |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Thales!
评论