为了账号安全,请及时绑定邮箱和手机立即绑定
  • 因为有数据的改变要在methods里面定义,这里的push相当于对data里的list数组添加数据,添加的数据来源于input的value值=data里面的inputValue值。

    查看全部
  • http://img1.sycdn.imooc.com//5d831bf00001558703010175.jpg这里的this.content等于实例data里的content。 当值要发生变化时在methods里面进行函数定义。

    查看全部
  • 页面内容过于复杂,可将组件拆分,可定义全局组件或局部组件:

    1、全局组件:在页面任何地方都能使用

        //定义全局组件

        Vue.component("todo-item", {

            template: "<label>我是全局组件</label>"

        });

        new Vue({

            el: "#root",

        });

    //使用全局组件

     <div id="root">

            <todo-item></todo-item>

        </div>

    2、局部组件:要在外层Vue实例里进行注册

        //定义局部组件

        var todoItem = {

            template: "<label>我是局部组件</label>"

        }

        new Vue({

            el: "#root1",

            components: { //局部组件:要在挂载点(它的外层Vue实例,即此处的root1)进行注册

                "todo-item-1": todoItem

            }

        });

        //使用局部组件

    <div id="root1">

            <todo-item-1></todo-item-1><!--局部组件:只能在挂载点底下使用-->

            <todo-item></todo-item><!--全局组件:在页面任何地方都能使用-->

        </div>

    组件拆分之后的传参问题:外部(html页面)可以通过自定义属性的形式传参,组件要定义props[]接收属性

    //父组件向子组件传递数据:通过属性

        Vue.component("todo-item-2", {

            props: ["content", "index"],//接收从外部传进来的属性content、index

            template: "<li>{{index+1}}、{{content}}</li>"

        });

        new Vue({

            el: "#root2",

            data: {

                inputValue: "",

                list: []

            },

            methods: {

                submitClick: function () {

                    this.list.push(this.inputValue);

                    this.inputValue = "";

                }

            }

        })

    <div id="root2">

            <div>

                <input v-model="inputValue" />

                <button @click="submitClick">提交</button>

            </div>

            <ul> <!--自定义属性content、index-->

                <todo-item-2 v-for='(item,index) of list'

                             :key="index"

                             :content="item"

                             :index="index" 

                >

                </todo-item-2>

            </ul>

        </div>

    笔记来自哈尔波儿

    查看全部
  • v-if="data下的数值";是将元素删除再添加的操作

    v-on ==@    +click:点击事件,事件定义在methods中

    v-show:是将元素的display属性改为none 性能更高

    v-for="item of list": item与标签里{{item}}保持一致,list:是实例data下的list数组,这种写法要保证数组内不存在重复的数值。若存在重复则可以(item,index)这样写


    查看全部
  • v-if="data下的数值";是将元素删除再添加的操作

    v-on ==@    +click:点击事件,事件定义在methods中

    v-show:是将元素的display属性至于none性能更高

    v-for="item of list": item与标签里{{item}}保持一致,list:是实例data下的list数组,这种写法要保证数组内不存在重复的数值。若存在重复则可以(item,index)这样写

    查看全部
  • template :写模型的

    computed:{方法};一个属性通过其他属性计算而来,

    watch:{

    key的值与data中key值相对应:function()

    };侦听器

    查看全部
  • v-bind == : 绑定属性

    v-on == @ 绑定事件

    v-model 数据双向绑定

    {{实例里data下的key值}}

    查看全部
    1. computed 计算属性 

            computed:{

                    fullname: function(){

                        return this.fristname + this .lastname

                    }

            }

    2. watch(监听data和computed里的值的变化做相应的业务逻辑处理

    watch:{

      fullName:function(){

        this.count ++

                                     }

               }


    查看全部
  • v-bind(缩写":")单项属性绑定:

    根据vue实例中data属性,与其中对象的key值相绑定,可修改相应属性的数据 

    v-model:双向绑定:

    div中某一个标签的值发生变化后,可以改变vue实例中data属性相应的对象值,反之相同;

    查看全部
  • vue对象属性:.....

    el:绑定标签,

    data:数据,

    methods:定义方法;

    template:模板

    {}}叫做插值表达式

    v-text与v-html的区别

    v-on:click 简写是“@”

    v-text  会进行转译

    v-html 不会进行转译

    查看全部
  • 挂载点,模版,实例之间的关系

    1. 挂载点:el属性(#root)对应后面id(id="root")所对应的节点;

    2. 模版: 指的是挂载点内部,也可以写在实例里面template属性里面;

    3. 实例:Vue会结合模版和数据生成最终要展示的内容,然后把它放在挂载点之中。

    查看全部
  • <script src="js/vue.js"></script>放在head标签之间,避免抖屏。

    new Vue({

        el: "id",//引用id

    注意vue实例里不同属性用逗号隔开

        data: {


            msg: "hello world"

    }

    })创建vue实例

    通过插值表达式{{}}引用vue实例里面的内容

    查看全部
  • v-on:@绑定事件 v-bind: :绑定属性 computed:计算属性 watch:侦听器
    查看全部
  • v-text  会进行转译

    v-html 不会进行转译

    v-on:click="xxx"  或者  @click   // 绑定事件  相当于html的class跟id

    vue对象属性:

    el:绑定标签,

    data:数据,

    methods:{    //定义方法

    xxx:function(){}

    }

    template:模板

    {{number}}:插值表达式,也就是把number的值插入到h1之中;

    v-text="number":h1的内容由number这个变量决定,v-text是Vue中的一个指令,

    这个指令里面的东西跟着的是一个变量,它告诉h1显示的内容就是"number"这个变量;

    v-html="c ontent":v-html与v-text的区别是,v-html不会转义,而v-text会转译;

    v-on:click="handleClick":通过v-on给元素绑定一个Click事件,事件触发方法。

    v-on:click的简写方法:@click




    Vue中的属性绑定和双向数据绑定

    v-bind:属性绑定。缩写为冒号  : (:title)

    v-model:双向数据绑定,随着数据的修改与之对应的也会修改。

    computed:{   }   计算属性

    watch:{   }    监听器

    v-if,v-show与v-for指令:


    1.v-if:当对应data中的值show是true时显示,为false,则把这个标签就移除。

    2.v-show:而当对应指令值为false时,div标签会隐藏,并不会像v-if那样被清除,只是把div标签的display属性变成none;

    3.v-for:当有一个数据需要做循环展示时,帮助把每一条数据做循环,循环展示li标签;

    每个组件都是一个实例,每个vue实例都是一个组件


    Vue.component 注册全局组件

    例:Vue.component('todo-item',{

        template:'<li>item</li>'

        })

    局部组件

    var TodoItem = {

        template:'<li>item</li>'

        }

        new Vue({

        el:"xxx", //挂载点

        components:{ //申明

            'todo-item':TodoItem

            }

        })

    单文件组件的template模板中,只能有一个外层<div>,其它应该都在这一层<div>里

    单文件组件的script中,data不是{}数据形式,是function()函数形式,return返回值是{}数据


    查看全部
    6 采集 收起 来源:课程总结

    2019-09-12

  • 计算属性:

        computed: 数据带缓存,因数据改变而改变;

    监听器:

        watch: 动态监控数据改变,然后进行某些操作

    查看全部

举报

0/150
提交
取消
课程须知
1、对Javascript基础知识已经掌握。 2、对Es6和webpack有简单了解。
老师告诉你能学到什么?
使用Vue2.0版本实现响应式编程 2、理解Vue编程理念与直接操作Dom的差异 3、Vue常用的基础语法 4、使用Vue编写TodoList功能 5、什么是Vue的组件和实例 6、Vue-cli脚手架工具的使用 7、但文件组件,全局样式与局部样式

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!