Durandal js,所有功能在启动时激活

时间:2018-07-18 13:11:50

标签: javascript knockout.js durandal

我有一个用Durandal js和淘汰赛包编写的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 个答案:

答案 0 :(得分:0)

我相信这可能与事件在html绑定上的绑定方式有关。如果这样使用 data-bind="click: clickHandler()"可能会在处理绑定时调用该函数。 取而代之的是,删除括号,使其指向函数而不是调用它。 data-bind="click: clickHandler"