vue下一步点击语法

vue下一步点击语法,第1张

1Mustache(双大括号):

2v-once:该指令后面不需要跟任何表达式(v-for后面接表达式),该指令表示元素和组件只渲染一次,不会随着数据的改变而改变。

3v-html:v-html会将数据当html标签解析后输出。

4v-text:<h2 v-text="message"></h2>等效于<h2>{{message}}</h2>,但相比于Mustache,它不够灵活。

5v-pre:如<h3 v-pre>{{message}}</h3>,标签显示结果就是它标签本身的内容,即{{message}}。

6v-cloak:解决屏幕闪动的好方法。

7v-bind:基本属性绑定和动态绑定(对象或数组),将对应的或地址等数据放入data中,使用v-bind将数据引用到对应的标签中,如<img v-bind:src="imgUrl" />,其中data数据如下:

v-bind语法糖(简写方式):<img v-bind:src="imgUrl" />可写为<img :src="imgUrl" />。

8计算属性:其本质就是属性,包含setter和getter,下面是两种 *** 作实例:

<body>标签的内容:

对应vue代码:

一般为只读属性,所以可以省略set,写成如下形式:

9v-on(缩写:@):绑定事件监听器。一些处理事件的修饰符(可混合使用):

(1)stop阻止冒泡事件的发生

(2)prevent阻止默认事件的发生,如不用prevent,下面标签的submit指令会调用方法后直接提交服务器 ,即控制台显示的数据会闪过

(3){keycode|keyAlias}特定键盘键触发回调

(4)once只触发一次回调

10v-show:判断属性。

与v-if区别:v-if在条件为false时,包含v-if指令的元素不会出现在dom中;v-show在条件为false时,只是给元素添加一个行内样式:display:none,元素仍然在dom里面;

注意:当需要在显示与隐藏之间切换频率较高的时候,应该使用v-show(性能更高),当次数较少时通常使用v-if。

11v-for:循环遍历 *** 作。语法:

(1)遍历数组:v-for="(m,index) in movies" //m是新定义的变量名称,index是对应数组的下标,movies是已有的数组名。Index可省略。

(2)遍历对象:<li v-for=”(value,key) in moive”>{{item}}</li> //如果只获取一个值,那么取得的值是value,key可以省略。

12v-model:实现双向绑定(等同于v-on和v-bind一起使用,实现实时显示)。

双向绑定的使用案例:

<body>

<div id="app">

<!-- 基础案例 -->

<!-- <input type="text" v-model="message"/>{{message}} -->

<!-- 当界面产生一个事件,浏览器会生成一个event对象,内部就包含当前输入的值 -->

<input type="text" :value="message" @input="change" /><br />

<h2>文本框输入内容:{{message}}</h2>

<br />

<!-- 单选框 -->

<span>

<label for="male">

<input type="radio" id="male" value="男" v-model="sex" />男

</label>

<label for="female">

<input type="radio" id="female" value="女" v-model="sex" />女

</label>

<h2>你选择的性别是:{{sex}}</h2>

</span>

<!-- 单击选择 -->

<label for="agree">

<input type="checkbox" id="agree" v-model="info" /><span title="点击同意进入下一步">同意协议 </span>

<button :disabled="!info" @click="notice()">next</button>

<br />

<h2 v-if="info==true">你已经同意相关协议</h2>

</label>

<br />

<!-- 复选框 -->

<label>

<input type="checkbox" value="羽毛球" v-model="hobbies" />羽毛球

<input type="checkbox" value="篮球" v-model="hobbies" />篮球

<input type="checkbox" value="足球" v-model="hobbies" />足球

<input type="checkbox" value="乒乓球" v-model="hobbies" />乒乓球

<h2>你的爱好是:{{hobbies}}</h2>

</label>

<!-- v-model:select 分为复选框和单选框 -->

<!-- 单选框 -->

<select name="abc" v-model="fruit">

<option value="西瓜">西瓜</option>

<option value="橘子">橘子</option>

<option value="香蕉">香蕉</option>

<option value="哈密瓜">哈密瓜</option>

</select>

<h2>你选择的水果是:{{fruit}}</h2>

<!-- 多选框 -->

<select multiple="multiple" name="xyZ" v-model="stars" size="5">

<option disabled="disabled">ctrl+单击可复选</option>

<option value="刘德华">刘德华</option>

<option value="梁朝伟">梁朝伟</option>

<option value="黎明">黎明</option>

<option value="库里">库里</option>

</select>

<h2>你选择的明星是:{{stars}}</h2>

<!-- 值绑定 (动态绑定v-model)-->

<label v-for="item in orginHobbies">

<input type="checkbox" :value="item" />{{item}}

</label>

<!-- 修饰符 -->

<!-- 1修饰符:lazy 敲回车时进行绑定-->

<div>

<input type="text" v-modellazy="message" />

<h2>{{message}}</h2>

</div>

<!-- 2修饰符:number转换数据类型 -->

<div>

<input type="number" v-modellazynumber="numberBind" />

<h2>{{numberBind}}-{{typeof numberBind}}</h2>

</div>

<!-- 3修饰符:trim除左右两边空格 -->

<div>

<input type="text" v-modellazy="name" />

<h2>你输入的名字是:{{name}}</h2>

</div>

</div>

<script src="/js/v2610/vuejs"></script>

<script>

let app = new Vue({

el: '#app',

data: {

message: 'hello!!',

sex: '男',

info: false,

orginHobbies: ['橄榄球', '高尔夫球', '乒乓球'],

hobbies: [],

fruit: '橘子',

stars: [],

numberBind: '',

name: ''

},

methods: {

change(event) {

thismessage = eventtargetvalue;

},

notice() {

alert('感谢你同意协议');

}

}

})

</script>

</body>

登录后复制

vuejs

javascript

前端

德国品牌的空气净化器

精选推荐

广告

      在vue项目中,当我们用v-for遍历select下的option时,我们想通过给option添加点击事件来获取我们所遍历的对象,却发现我们的点击事件根本不触发

      那么我们怎样才能把我们想要的值传递过去呢?我们需要在select上绑定一个v-model,在data里定义一个v-model所绑定的空值,然后通过change事件将这个空值传递过去,然后我们在option上绑定value属性,在value上绑定你要传递的值(也可以是当前对象的下标或者id),然后在change事件中接收你传过来的值,就可以了

vue官网也对这部分进行了介绍: 详见官网

第三方组件官网

Element-ui

iView

Vant

如果父类组件需要直接获取子类的方法 可以使用 $children

子获父 $parent 子获取跟组件 $root

如果使用自定义组件,在里面插入其他的文字或者标签,是不能够显示的,如果想在组件中插入其他标签,需要在标签中插入 <slot></slot> ,插槽写在哪个位置,插入的文字或者标签,就在哪个位置显示

我们先定义3个 全局 的自定义组件 分别为 child1 child2 child3

我们把vue实例当作根组件(父组件)

父跟子的关系

通常情况下,在父组件中有个子组件,子组件想要使用(获取)父组件的值,我们使用 $parent 来获取父组件的的值

我们在 child1 子组件中插入了一个组件这个时候 child1 变成了 childson 的父组件,如果这个时候我们在获取根组件(vue实例 | 根实例),这个时候我们可以用多个 $parent 来获取祖组件数据,当然,我们可以用 $root 直接获取根实例的值

父组件获取子组件的值,我们用 $children 来获取,

$children 获取的是所有子组件的实例,返回的是数组类型,再通过下标获取指定的子组件

如果页面的结构出现了调整,这里获取的具体的组件可以就对不上号了。:

如下

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9809440.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存