VueJS(四)

今天继续学习Vue

表单和v-model
表单类的控件主要功能就是承载一个网页数据的录入和交互

包括单选、多选、下拉选择、输入框,使用他们完成数据的录入、校验、提交。
使用v-model进行双向绑定,额,和ng-model好像一模一样

	<body>
	    <div id="app">
			<input type="text" v-model="message" placeholder="输入...." />
			<p>内容为:{{message}}</p>
		</div>
		<script>
			var app = new Vue({
				el:'#app',
				data:{
					message:''
				}
			});
		</script>
	</body>

最简单的一个绑定方法,让message和文本框内的内容双向绑定

把input换成textarea效果也是一样的

<textarea v-model = "text"   placeholder = "输入.."></textarea>

这个时候你在textarea标签元素中写的内容就不会生效了,他只关心绑定的内容

如果希望实时更新,可以用@input 代替v-model

<body>
		<div id="app">
			<input type="text" @input="handleInput">
			<p>输入内容为:{{message}}</p>
		</div>
		
		<script>
			var app = new Vue({
				el:'#app',
				data:{
					message:'',
				},
				methods:{
					handleInput:function(e){
						this.message = e.target.value;
					}
				}
			});
		</script>
	</body>

他绑定了一个函数

单选按钮的绑定
他不需要v-model,而是只用v-bind

	<body>
		<div id="app">
			<input type="radio" :checked="picked">
			<label>单选按钮</label>
		</div>
		<script>
			var app = new Vue({
				el:'#app',
				data:{
					picked:false
				}
			})
		</script>
	</body>

下面这样可以实现如下效果
在这里插入图片描述

<body>
		<div id="app">
			<input type="radio" v-model="picked" value = "html" id="html">
			<label for = "html" >HTML</label>
			<br>
			<input type="radio" v-model="picked" value="js" id="js" />
			<label for = "js">javascript</label>
			<br>
			<input type="radio" v-model="picked" value="css" id="css">
			<label for = "css">CSS</label>
			<br>
			<p>选项的项是:{{picked}}</p>
		</div>
		<script>
			var app = new Vue({
				el:'#app',
				data:{
					picked:'js'
				}
			})
		</script>
	</body>

其中label的for属性是表示与哪个关联,这里绑定是通过id

复选框
和前面的单选框一样,也分为单独使用和组合使用
单独使用的时候差不多

<input type="checkbox" v-model="checked" id="checked">
<label for="checked">选择状态:{{checked}}</label>

也需要用到for

组合使用的时候

	<body>
		<div id="app">
			<input type="checkbox" v-model="checked" value="html" id="html">
			<label for="html">HTML</label>
			<br>
			<input type="checkbox" v-model="checked" value="js" id="js" />
			<label for="js">Js</label>
			<br>
			<input type="checkbox" v-model="checked" value="css" id="css" />
			<label for="css">css</label>
			<br>
			<p>{{checked}}</p>
		</div>
		<script>
			var app = new Vue({
				el:'#app',
				data:{
					checked:['html','css']
				}
			})
		</script>
	</body>

就差不多这样

选择列表:
下拉选择器

	<body>
		<div id="app">
			<select v-model="selected" >
				<option>html</option>
				<option value="js">js</option>
				<option>css</option>
			</select>
			<p>{{selected}}</p>
		</div>
		<script>
			var app =new Vue({
				el:"#app",
				data:{
					selected:'html',
					}
			})
		</script>
	</body>

这个个是单选
在select元素中添加一个multiple属性就可以多选了

下面是使用v-for来实现下拉列表输出

	<body>
		<div id="app">
			<select v-model="selected">
				<option
				   v-for="option in options"
				   :value="option.value">{{option.text}}</option>
			</select>
			<p>选择的:{{selected}}</p>
		</div>
		<script>
			var app = new Vue({
				el:'#app',
				data:{
					selected:'html',
					options:[
						{
							text:'html',
							value:'html'
						},
						{
							text:'js',
							value:'js'
						},
						{
							text:'CSS',
							value:'css'
						}
					]
				}
			})
		</script>
	</body>

实际业务很少直接使用这种下拉,一般都是自己写一个组件控件

绑定值
业务中需要绑定动态数据的时候可以使用v-bind来实现

<body>
		<div id="app">
			<input type="radio" v-model="picked" :value="value" >
			<label>单选</label>
			<p>{{picked}}</p>
			<p>{{value}}</p>
		</div>
		<script>
			var app = new Vue({
				el:'#app',
				data:{
					picked:false,
					value:123
				}
			})
		</script>
	</body>

点击按钮后,app.picked=app.value

复选框的动态绑定值方法差不多

	<body>
		<div id="app">
			<input 
			type="checkbox"
			v-model="toggle"
			:true-value="value1"
			:false-value="value2">
			<label>复选框</label>
			<p>{{toggle}}</p>
			<p>{{value1}}</p>
			<p>{{value2}}</p>
		</div>
		<script>
			var app = new Vue({
				el:'#app',
				data:{
					toggle:false,
					value1:'a',
					value2:'b'
				}
			})
		</script>
	</body>

也是:value的形式

	<body>
		<div id="app">
			<select v-model="selected">
				<option :value="{number:123}" >123</option>
			</select>
		<p>	{{selected.number}}</p>
		</div>
		<script>
			var app = new Vue({
				el:'#app',
				data:{
					selected:'',
				}
			})
		</script>
	</body>

这个是下拉的案例

修饰符
就是跟在v-model

极化码(Polar Code)是由土耳其科学家Erdal Arıkan在2009年提出的一种新型纠错编码技术。它通过利用信道的极化现象,将虚拟信道分为误码率接近0和接近1/2的两类。在编码设计中,数据被放置在误码率极低的信道上,从而实现高效的数据传输。极化码的主要优势在于其理论编码容量能够达到香农限,并且构造方法较为简单。 MATLAB是一种功能强大的数学计算和编程工具,广泛应用于科学研究和工程领域。在极化码的研究中,MATLAB可用于构建编码和解码算法,模拟数据在不同信道条件下的传输效果,验证理论性能,并优化相关参数。 SC(Successive Cancellation,逐位取消)译码是极化码的基本解码方法。它从最可靠的比特开始,依次解码每个虚拟信道,且每个比特的解码结果会影响后续比特的解码,因为它们之间存在依赖关系。虽然SC译码的实现较为简单,但其计算复杂度较高,随着码长的增加,解码时间会线性增长。 SCL(Successive Cancellation List,逐位取消列表)译码是SC译码的改进版本。它通过引入列表机制,同时处理多个路径,从而增强了错误校正能力,并在一定程度上降低了错误率。与SC译码相比,SCL译码虽然需要消耗更多的计算资源,但能够提供更好的性能。 一个完整的MATLAB仿真资源通常包含以下内容: 编码模块:用于实现极化码的生成,包括码字构造和极化矩阵操作等。 信道模型:用于模拟各种通信信道,例如AWGN(加性高斯白噪声)信道或衰落信道。 SC/SCL译码模块:包含SC译码和SCL译码的算法实现。 误码率(BER)计算:通过比较发送和接收的码字,计算误码率,以评估编码性能。 性能曲线绘制:绘制误码率与信噪比(SNR)之间的关系曲线,展示不同译码策略的性能差异。 使用说明:指导用户如何运行仿真,理解代码结构,以及如何调整参数以进行自定义实验。 代码注
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值