我从浏览器发起Get请求,参数如下:
let uid = parseInt(params.get("uid"));
let nickname = params.get("nickname");
let avatar = params.get("avatar");
let phone = params.get("phone");
//产品信息
let store_name = params.get("store_name");
let stock = params.get("stock");
let sales = params.get("sales");
let ficti = params.get("ficti");
let price = params.get("price");
let image = params.get("image");
然后服务器这边也接收到了请求,在customerServer.js里面打了断点,在该文件第396行,代码如下:
this.connentServerDom.style.display = 'none';
this.iframe_contanier.contentWindow.postMessage({
type: 'getImgOrText',
productInfo: this.settingObj.productInfo
}, "*"); // 传送图文数据
this.iframe_contanier.contentWindow.postMessage({type: 'openCustomeServer'}, "*"); //通知iframe 打开了客服弹框
//打开聊天窗事件
window.$chat.emit('openChatWin');
明明向子页面发送了通知 getImgOrText,在子页面的created()里也监听了这个消息
window.addEventListener("message", e => {
console.log(e);
// 获取图文数据
switch (e.data.type) {
case 'getImgOrText':
this.userKey = e.data.key;
if(e.data.productInfo) {
this.productMessage = e.data.productInfo;
}
break;
子页面对 productMessage 进行了watch
watch: {
productMessage: {
handler(val, oldVal) {
console.log(val == oldVal);
//没有生效,是否是这里的原因
if(JSON.stringify(val) != JSON.stringify(oldVal)) {
this.isShowProductModel = true;
this.goPageBottom(); // 滑动到页面底部
}
},
deep: true
},
但不知道什么原因这里没有生效,请问可能是什么原因呢,也不报错
【产品名称】:CRMEBChat
【产品版本】:v1.2.0
【部署方式】:linux/宝塔面板
【部署环境】:虚拟机Centos7本地环境
【php版本】:7.4
【Mysql版本】:5.7
【使用终端】:客户端Chrome浏览器,后台Vue使用webstorm编译运行在本地8080端口
{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}
作者 管理员 企业
{{itemf.name}}
{{itemc.user_info.nickname}}
{{itemc.user_name}}
回复 {{itemc.comment_user_info.nickname}}
{{itemf.name}}