Vue.js——常用的指令
1、v-on:指令监听DOM事件,并在触发时运行一些javaScript代码。
<div id='myView'> <img src="img/se.png" v-on:click="queryBook"> </div>
在视图模型中调用声明的监听事件
var myViewModel = new Vue({
el:'#myView',
data:myModel,
methods:{
queryBook:function(){
alert('ok?');
});
2、v-for:指令根据一组数组的选项列表进行渲染。v-for
指令需要使用 item in items
形式的特殊语法,items
是源数据数组并且 item
是数组元素迭代的别名。
<ul id="example-1"> <li v-for="item in items"> {{ item.message }} </li> </ul>
var example1 = new Vue({
el: '#example-1',
data: {
items: [
{ message: 'Foo' },
{ message: 'Bar' }
]
}
})
运行结果:
3、v-bind:动态地绑定一个或多个特性,或一个组件 prop 到表达式。
<!-- 绑定一个属性 --> <img v-bind:src="imageSrc"> <!-- 缩写 --> <img :src="imageSrc"> <!-- 内联字符串拼接 --> <img :src="'/path/to/images/' + fileName"> <!-- class 绑定 --> <div :class="{ red: isRed }"></div> <div :class="[classA, classB]"></div> <div :class="[classA, { classB: isB, classC: isC }]"> <!-- style 绑定 --> <div :style="{ fontSize: size + 'px' }"></div> <div :style="[styleObjectA, styleObjectB]"></div> <!-- 绑定一个有属性的对象 --> <div v-bind="{ id: someProp, 'other-attr': otherProp }"></div> <!-- 通过 prop 修饰符绑定 DOM 属性 --> <div v-bind:text-content.prop="text"></div> <!-- prop 绑定。“prop”必须在 my-component 中声明。--> <my-component :prop="someThing"></my-component> <!-- 通过 $props 将父组件的 props 一起传给子组件 --> <child-component v-bind="$props"></child-component> <!-- XLink --> <svg><a :xlink:special="foo"></a></svg>
4、v-model:在表单控件元素上创建双向数据绑定,负责监听用户的输入事件以更新数据,并特别处理一些极端的例子。
<input v-model="message" placeholder="edit me"> <p>Message is: {{ message }}</p>
运行结果:
5、component(组件):可以扩展 HTML 元素,封装可重用的代码。(自定义元素)
<div id="myDiv"> //调用自定义组件 <student v-for="stu in stuList" v-bind:stu="stu" v-bind:key="stu.name"> </student> </div>
<script> var model = {stuList : [{id:1,name : "zhangsan", age : 18}, {id:2,name : "lisi", age : 18}, {id:3,name : "wangwu", age : 18}]}; var vm = new Vue({ el : "#myDiv", data : model }); <script>
//如果在同一个页面中,要在确保viewModel启动之前先注册组件 //在js中自定义组件目的是为了可复用 //注册 Vue.component('student', { //声明props props:['data'], template: '<div><span style="color:red">{{data.id}}</span><span style="color:green">{{data.name}}</span><span style="color:blue">{{data.height}}</span></div>' });
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?