nodejs vue 学习笔录一

5 篇文章 0 订阅

1.表格里参数值对应设置里的值显示

   <template slot-scope="scope">
                        <div>
                            {{scope.row.kyyuser.appname|parseByOptions(option.kyy_packagename)}}
                        </div>
                    </template>

2.lodash的_.merge(object, [sources])用法

lodash

$ npm i -g npm
$ npm i --save lodash
var _ = require('lodash');


var object = {
  'a': [{ 'b': 2 }, { 'd': 4 }]
};
 
var other = {
  'a': [{ 'c': 3 }, { 'e': 5 }]
};
 
_.merge(object, other);
// => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }

3._.assign(object, [sources])

分配来源对象的可枚举属性到目标对象上。 来源对象的应用规则是从左到右,随后的下一个对象的属性会覆盖上一个对象的属性。

4.Object.assign()的使用

点击

4.1 Object.assign()对象的拷贝

Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。
Object.assign(target, …sources) 【target:目标对象】,【souce:源对象(可多个)】

4.2 对象的合并
const o1 = { a: 1 };
const o2 = { b: 2 };
const o3 = { c: 3 };

const obj = Object.assign(o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1);  // { a: 1, b: 2, c: 3 }, 注意目标对象自身也会改变。
其实就是对象的拷贝,o1就是目标对象,后面的是源对象,后面的属性等会拷贝到目标对象
4.3 合并具有相同属性的对象
const o1 = { a: 1, b: 1, c: 1 };
const o2 = { b: 2, c: 2 };
const o3 = { c: 3 };

const obj = Object.assign({}, o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
1.属性被后续参数中具有相同属性的其他对象覆盖。
2.目标对象的属性与源对象的属性相同,源的会覆盖目标的属性

5.Object.entries() 遍历对象中key value

Object.entries()方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for…in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环还会枚举原型链中的属性)。

   for (const [key,val] of Object.entries(datas)) {
			  console.log(key)
			  console.log(val)
			  if(typeof val.dailySignInRewardConfig.reward === 'string'){

				let arr = val.dailySignInRewardConfig.reward.split(",")
			val.dailySignInRewardConfig.reward = arr.map(item => parseInt(item))
  
              }
		  }
 let arr = []
            for(let [key,value] of Object.entries(c_data.detail)){
                if(key.split('_')[0] === 'thumbnail' && value != ''){
                    arr.push(value)
                }

6.字段自增,自减

const flow = await this.ctx.model.Flow.findOne({ where: { art_id } });
await flow.increment('index', { by: 900 });

字段自减
const flow = await this.ctx.model.Flow.findOne({ where: { art_id } });
await flow.decrement('index', { by: 900 });

7.Vue子组件调用父组件的方法

this.$parent.fatherMethod(); //方法名

8. 关于数组

渲染data里数据:

  data: [
            {value: 1048, name: '搜索引擎'},
            {value: 735, name: '直接访问'},
            {value: 580, name: '邮件营销'},
            {value: 484, name: '联盟广告'},
            {value: 300, name: '视频广告'}
        ],

定义一个数组 然后遍历塞进去

  const series = [];
      for (let item of data) {
        series.push({ value: item.amount, name: item.channel });
      }
      this.initChart(series);

es6 map用法

let arr = channels.map(item => item.channel)

es6 Object.keys()取key值,
Object.values() 取值并返回数组形式

const a = "818测试": {
"channel": "818测试",
"accessuser": 56,
"accessnewuser": 1,
"accessnumber": 56,
"add_desktop": 4
},
"渠道1": {
"channel": "渠道1",
"accessuser": 10,
"accessnewuser": 0,
"accessnumber": 10,
"add_desktop": 4
},
"渠道2": {
"channel": "渠道2",
"accessuser": 4,
"accessnewuser": 0,
"accessnumber": 4,
"add_desktop": 2
},
"渠道3": {
"channel": "渠道3",
"accessuser": 11,
"accessnewuser": 5,
"accessnumber": 11,
"add_desktop": 8
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值