我是靠谱客的博主 含糊金鱼,最近开发中收集的这篇文章主要介绍rancher 修改ui-banners 报错问题的调试与跟踪,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 如果在 ui-banners的编辑框里填写 

{ banner:{background:red} }

 

则会报错

 

并且无法reload  无法退出。

如果处于登录状态可以通过/v3/settings/ui-banners 来修改值

 

报错是因为填写的内容无法转换为json,导致系统无法使用。

应该如此写

{
	"banner": {
		"background":"red"
	}
}

 

 

 

首先根据路由  /g/settings/advanced 找到  目录 libglobal-adminaddonsettings

在其中找到

advanced/template.hbs

以下是内容

{{settings/danger-zone}}

搜索 settings/danger-zone 组件

 

指向

libsharedaddoncomponentssettingsdanger-zone

 

由template.hbs内容 找到 action-menu 组件

由 action-menu 找到 libsharedaddoncomponentsaction-menu-item

 

这里是 点击编辑菜单,的触发逻辑

不过这里我有点不懂

if (this.action) {
  this.action(actionArg);
}

this.action 没有找到定义的入口,猜猜是去执行一个全局的函数,这个全局的函数又依赖另一个全局的变量。从而能够正确显示出编辑ui-banners的模态框。 真扯啊、、、

 

所有ui-banners的编辑模态框是这个组件

appcomponentsmodal-edit-setting 

是根据 modalEditSetting.title 进行全局搜索 找到的

这里便是编辑ui-banner的编辑组件区域

 

component.js 中的save函数编辑点击保存 的执行函数。

所有要在save执行之前进行 json格式的判断.

已经给rancher 提了一个issues,目前还没得到回复。

没回复 的话,抽时间自己提个PR吧。

祝各位在rancher的道路上越走越顺。

 

      let uiBannersValue = null;

      if (normalizeName(get(this, 'model.key')) === 'ui-banners') {
        try {
          uiBannersValue = get(this, 'value');
          uiBannersValue = JSON.parse(uiBannersValue)
        } catch (error) {
          console.log(uiBannersValue, error);
          btnCb(false);

          return false;
        }
      }

 

 

最后

以上就是含糊金鱼为你收集整理的rancher 修改ui-banners 报错问题的调试与跟踪的全部内容,希望文章能够帮你解决rancher 修改ui-banners 报错问题的调试与跟踪所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部