Durandal js,所有功能在启动时激活
Posted
技术标签:
【中文标题】Durandal js,所有功能在启动时激活【英文标题】:Durandal js, all functions activate at startup 【发布时间】:2018-12-26 10:16:52 【问题描述】:我有一个用 Durandal js 和 knockoutJs 包编写的 SPA,
当我运行程序时,所有在启动时触发的function ()
函数,
大多数必须由某些动作触发(如点击事件等......)
它工作正常,但我不需要在启动时触发它。
怎么控制?
这是 main.js 的样子:
define(jquery, function () return jQuery; );
define('knockout', ko);
define(['durandal/system', 'durandal/app', 'durandal/viewLocator', 'bootstrap'], function (system, app, viewLocator)
app.title = 'Durandal Starter Kit';
app.configurePlugins(
router: true,
dialog: true
);
app.start().then(function ()
//Replace 'viewmodels' in the moduleId with 'views' to locate the view.
//Look for partial views in a 'views' folder in the root.
viewLocator.useConvention();
//Show the app by setting the root view model for our application with a transition.
app.setRoot('shell', 'entrance');
);
);
【问题讨论】:
触发了什么函数?你能提供一个例子或代码吗? 【参考方案1】:我相信这可能与事件在 html 绑定上的绑定方式有关。如果它们像这样使用
data-bind="click: clickHandler()"
它可能会在处理绑定时调用该函数。
相反,删除括号,使其指向一个函数而不是调用它。
data-bind="click: clickHandler"
【讨论】:
以上是关于Durandal js,所有功能在启动时激活的主要内容,如果未能解决你的问题,请参考以下文章
Durandal - 激活 DOM 后运行 datePicker
如何使 jQuery AutoComplete 功能在 Durandal 中工作?