day01 Vue ElementUI Axios 前后端案例 之Vue( 六 ) _绑定_甘肃龙网
- 首页 > 生活 > >
day01 Vue ElementUI Axios 前后端案例 之Vue( 六 )
vs
我们可以使用来替代,效果上两个都是一样的,但是是基于它的依赖缓存,只有相关依赖发生改变时才会重新取值 。而使用,在重新渲染的时候,函数总会重新调用执行 。
计算属性的方法
属性默认只有,不过在需要时你也可以提供一个:
Hello Vue{{computedMsg}}
src="http://www.kingceram.com/post/js/vue.js">>new Vue({el: '#app',data: {msg: 'Hello Vue'},computed: {// getter// computedMsg: function () {//return this.msg.toUpperCase();// }// 计算属性可以绑定到表单中computedMsg: {get: function () {// 获取值之前进行计算console.log('getter...');return this.msg.toUpperCase();},set: function (value) {// 设置值进行计算console.log(value)this.msg = value;}}}})
实例和生命周期
下图展示了实例的生命周期 。你不需要立马弄明白所有的东西,不过随着你的不断学习和使用,它的参考价值会越来越高 。
Hello Vue{{msg}}
src="http://www.kingceram.com/post/js/vue.js">>// 实例化let vm = new Vue({// el: '#app', //挂载data: {msg: 'Hello Vue'},beforeCreate: function () {console.log('beforeCreate...')},created:function() {// 获取后台的数据console.log('created...')},beforeMount: function() {console.log('beforeMount...')},mounted: function() {// 在这里 才能操纵domconsole.log('mounted...')},methods: {test: function () {alert()}}}).$mount('#app');// 手动挂载// vm.$mount('#app')//console.log(vm.msg);//console.log(vm.test());
补充知识点:
组件
什么是组件
组件是可复用的 Vue 实例,说白了就是一组可以重复使用的模板,跟 JSTL 的自定义标签、
的 th: 等框架有着异曲同工之妙 。通常一个应用会以一棵嵌套的组件树的形式
来组织:
注意:在实际开发中,我们并不会用以下方式开发组件,以下方法只是为了让大家理解什么是组件 。
使用 () 方法注册组件:
06-vue-.html
src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js">>// 先注册组件Vue.component('my-component-li', {template: 'Hello li'});// 再实例化 Vuevar vm = new Vue({el: '#app'});
说明:
():注册组件
my--li:自定义组件的名字
:组件的模板
像上面那样用组件没有任何意义,所以我们是需要传递参数到组件的,此时就需要使用 props 属性
使用 props 属性传递参数
了!
注意:默认规则下 props 属性里的值不能为大写:
06-vue--2.html
src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js">>// 先注册组件Vue.component('my-component-li', {props: ['item'],template: 'Hello {{item}}'});// 再实例化 Vuevar vm = new Vue({el: '#app',data: {items: ["张三", "李四", "王五"]}});
说明:
v-for=“item in items” :遍历 Vue 实例中定义的名为 items 的数组,并创建同等数量的组件;
v-bind:item=“item” :将遍历的 item 项绑定到组件中 props 定义的名为 item 属性上;