我是一个敲除的初学者,我在一个只有视图(称为模板)是可编辑的平台上工作-ViewModel是不可编辑的,甚至不可读的(除了阅读开发工具中的最小化代码)。
我试图将一个按钮从一个模板移动到另一个模板。但是,该按钮使用了一个数据绑定函数,并且每个模板都应用了来自不同ViewModel(javascript文件)的绑定(使用元素Id)。
请参阅Graphic
目前为止的想法
1.改变目标模板的主div的id是个坏主意。
- 在div中使用与源模板相同的id Package 新按钮?
- 因此,似乎有共识,重复的id是坏的。
- 2个ViewModel是否会相互干扰?
如果是这样,是否可以仅为该新元素“暂停”或清除主元素?
- 我应该尝试在目标模板的
<script>
标签中重新创建ViewModel的这一部分吗? - 这是令人生畏的,因为我不知道js和最小化
我在devtools中看到的文件很长,而且看起来不简单。
- 还有别的事吗?
- 谢谢-谢谢
**EDIT:**仅添加HTML按钮<button data-bind="click: toggleResponsiveDesign">Old UI</button>
,显示一个按钮,但单击该按钮不执行任何操作。开发工具控制台在页面加载时出现错误(以及引用该错误的jQuery.Deferred exception
警告):
未捕获的引用错误:无法处理绑定“单击:函数(){return toggleResponsiveDesign }”消息:未定义切换响应设计
点击时(解析绑定字符串时的评估(CoreApp.js?v= v2011. 0. 1. 1:394),时间:3:58)
在CoreApp.js?v=版本2011.0.1.1:394中
在初始化时(核心应用程序js?v=v2011.0.1.1:394)
在初始化时(核心应用程序js?v=v2011.0.1.1:394)
在CoreApp.js?v=版本2011.0.1.1:394中
在对象G处(核心应用程序js?v=v2011.0.1.1:394)
在CoreApp.js?v=版本2011.0.1.1:394中
对象D(核心应用程序js?v=v2011.0.1.1:394)
在h时(核心应用程序js?v=v2011.0.1.1:394)
(核心应用程序js?v=v2011.0.1.1:394)
2条答案
按热度按时间sxpgvts31#
根据您的屏幕截图,您可能能够使clickhandler工作,因为Userpersonalisationapp.js的视图模型绑定到变量
r
,您可以将headerapp模板中的按钮数据绑定更改为您可能需要在其中添加
()
才能使函数运行,因为它未应用于页眉模板我会给予看
mnowg1ta2#
我认为这是不可能的。如果你的图形是准确的,你正在使用两个完全独立的视图模型,它们之间没有任何连接或相互感知。如果视图模型是嵌套的,从另一个视图模型访问一个视图模型将是非常简单的,但在这里似乎不是这样。
实际上,这就是components的用途。通常,你会为整个应用程序调用
applyBindings
* 一次 *,而其余的则会被划分为组件,这样你就可以在它们之间共享数据和方法。你的应用程序目前的结构方式,你无法做到这一点。而且你显然不能编辑甚至不能很好地查看视图模型,这真的让我很困惑。