美文网首页
03-Vue数据单向传递和双向传递

03-Vue数据单向传递和双向传递

作者: 仰望_IT | 来源:发表于2020-04-17 17:05 被阅读0次

数据单向传递

1. MVVM设计模式

在MVVM设计模式中由3个部分组成
M : Model 数据模型(保存数据, 处理数据业务逻辑)
V : View 视图(展示数据, 与用户交互)
VM: View Model 数据模型和视图的桥梁(M是中国人, V是美国人, VM就是翻译)

MVVM设计模式最大的特点就是支持数据的双向传递
数据可以从 M -> VM -> V
也可以从 V -> VM -> M

2. Vue中MVVM的划分

Vue其实是基于MVVM设计模式的
View:被控制的区域
View Model:Vue实例对象
Model:实例对象中的data

3. Vue中数据的单向传递

我们把"数据"交给"Vue实例对象", "Vue实例对象"将数据交给"界面"
Model -> View Model -> View

<!--这里就是MVVM中的View-->
<div id="app">
    <p>{{ message  }}</p>
</div>
<script>
    // 这里就是MVVM中的View Model
    let vue = new Vue({
        el: '#app',
        // 这里就是MVVM中的Model
        data: {
            message : "Vue单向传递"
        }
    });
</script>

数据双向绑定

默认情况下Vue只支持数据单向传递 M -> VM -> V
但是由于Vue是基于MVVM设计模式的, 所以也提供了双向传递的能力,在<input>、<textarea> 及 <select>元素上可以用 v-model 指令创建双向数据绑定, 也只有这三个元素可以实现双向绑定
例如:

<div id="app">
    <input type="text" v-model="message">
</div>

<script>
    let vue = new Vue({
        el: '#app',
        data: {
            message: "Vue双向传递"
        }
    });
</script>

v-model 会忽略所有表单元素的 valuecheckedselected 特性的初始值
而总是将 Vue 实例的数据作为数据来源。要在JavaScript 在组件的 data 选项中声明初始值。

相关文章

  • 03-Vue数据单向传递和双向传递

    数据单向传递 1. MVVM设计模式 在MVVM设计模式中由3个部分组成M : Model 数据模型(保...

  • 关于函数参数传递

    传递分为单向传递和双向传递 单向传递 修改形参不能触及主函数里的实参 以前C语言里是指的只传值 就是 void f...

  • Vue基本使用

    数据传递 数据的单向传递把数据交给vue实例对象,实例对象将数据交给界面 vue中数据双向绑定可以用 v-mode...

  • Vue 2.0 组件间数据传递

    父子组件数据传递 父组件单向传递给子组件 使用v-bind传递 父组件: 子组件: 子组件单向传递给父组件 使用 ...

  • 单向沟通与双向沟通

    以信息传递过程中信息发出者和信息接受者是否交换位置为准,可将人际沟通分为单向沟通和双向沟通。 1.单向沟通单向沟通...

  • Vue中的单向数据流

    单向数据流 数据从父级组件传递给子组件,只能单向绑定。 子组件内部不能直接修改从父级传递过来的数据。 控制台会出现...

  • 单项数据流

    什么是单向数据流? 数据从父组件传递给子组件,只能单向绑定。在子组件内部不应该修改父组件传递过来的数据。 子组件不...

  • vue 父子组件通信

    vue设计模式是数据流在组件之间是单向流动,组件内部是数据双向绑定, 父组件一般会通过props绑定数据传递给子组...

  • Android开发必看-详解Activity之间的数据传递

    Android开发必看-详解Activity之间的数据传递 Activity单向数据传递 下面的;例子演示了从 O...

  • vue常见面试题

    双向数据绑定的原理: vue父组件向子组件传值(属性绑定):传递数据(props): 传递方法(this.$emi...

网友评论

      本文标题:03-Vue数据单向传递和双向传递

      本文链接:https://www.haomeiwen.com/subject/rfvyvhtx.html