在Umbraco.DateTime控件中显示数据所需的硬刷新

时间:2017-09-12 13:08:50

标签: angularjs umbraco umbraco7

我在Umbraco中有一个自定义部分,当您单击我的自定义树中的节点时,URL会正确显示并且数据会成功加载。

然后单击树中的另一个节点(兄弟,完全相同的控制器和视图)

除了应在日历控件中显示的数据外,所有数据都会加载......如果我重新加载页面,数据会加载。 enter image description here

为了测试,我创建并添加了一个额外的控件,但这次它只是一个Umbraco.Textbox,数据总是正确加载

那么关于Umbraco.DateTime我在同一页面上的所有其他控件加载下拉菜单,复选框等等是什么呢?

我的Angular(v1.6)控制器中是否可以执行某些操作以强制每次更新?

更新:我的视图中的代码如下所示。

                            <umb-property property="vm.endDateTimeTxt">
                            <umb-editor model="vm.endDateTimeTxt"></umb-editor>
                        </umb-property>

                        <umb-property property="vm.startDateTimePropertyEditor">
                            <umb-editor model="vm.startDateTimePropertyEditor"></umb-editor>
                        </umb-property>

                        <umb-property property="vm.endDateTimePropertyEditor">
                            <umb-editor model="vm.endDateTimePropertyEditor"></umb-editor>
                        </umb-property>

对于Umbraco.DatePicker控件,这是生成属性编辑器的方法

function buildUmbracoClockPropertyEditor(alias, editor, view, label, description, config, mandatory = true) {
            return {
                editor: "Umbraco.DateTime",
                label: label,
                description: description,
                hideLabel: false,
                view: view,
                alias: alias,
                value: null,
                validation: {
                    mandatory: mandatory,
                    pattern: ""
                },
                config: {
                    pickDate: true,
                    pickTime: false,
                    useSeconds: false,
                    format: "YYYY-MM-DD HH:MM:SS",
                    icons: {
                        time: "icon-time",
                        date: "icon-calendar",
                        up: "icon-chevron-up",
                        down: "icon-chevron-down"
                    }
                },
            }

我还在文本框中加载了字符串的格式,所以现在这是在硬刷新之前。

enter image description here

这是在

之后

enter image description here

因为您可以看到数据存在,它会在您第一次单击某个节点时被加载到文本框中,但要求我转到我的浏览器地址栏并按Enter键以获取要加载的日期Umbraco.DateTime控件。

这只是疯了!数据在那里,格式是一样的......还有什么可能!

1 个答案:

答案 0 :(得分:0)

原因是 Umbraco 在加载时加载了所有 javascript,我们需要强制它再次加载。

我尝试过回收 AppPool、重启网站、触摸 web.config 等。重新加载它并不容易。