尽管指定了控制器但未被访问

Controller not being accessed despite being specified

我有一个非常简单的应用程序,它有一个拆分器 (onsenui) 菜单,可以打开来自 index.html 的不同模板。

index.js 中,我声明了一个控制器,它应该绑定到 index.html 中的模板页面之一。我可以跟随调试器并观察在第一次加载页面时访问控制器代码,我假设它是在初始分配时被调用的,但之后方法 advance() 在应该调用的按钮时永远不会被调用它被按下了。

使用 ng-click 指令将方法分配给按钮。

其他一切正常,只有控制器 onclick 不行。

index.html :

<template id="traditionalrosary.html">
    <div>
        <ons-page id="traditionalrosary" ng-controller="traditionalRosaryController">
            <link rel="stylesheet" href="css/traditionalrosary.css">
            <body>
                <ons-toolbar>
                    <div class="left">
                        <ons-toolbar-button onclick="fn.open()">
                            <ons-icon icon="md-menu"></ons-icon>
                        </ons-toolbar-button>
                    </div>
                    <div class="center">
                        Logo
                    </div>
                </ons-toolbar>
                <ons-card style="width:25vw; height 50vh; margin: auto;">
                    <img id="logoImage" class="img-responsive" src="img/logo.jpg" style='height=33vh; width=33vw; object-fit: cover; margin: auto;'>
                </ons-card>
                <ons-card style='left:50vh; width:75vw; height 50vh; margin: auto; object-fit: contain;'>
                    <textarea class="textarea" ng-model="textstuff" ng-init="textstuff = 'Hello now'" style="display: block; width: 100%; height 50vh; object-fit: contain; margin: auto; " value="OK" ' rows="10" placeholder="Textarea"> 
                    </textarea>
                </ons-card>
                <ons-button modifier="large" ng=click="advance()">advance</ons-button>
            </body>
        </ons-page>
    </div>
</template>

controllers.js:

myApp.controller("traditionalRosaryController", function($scope) {

    $scope.textstuff="nom nom";

    $scope.advance=function()
    {
        $scope.textstuff="awesome";
    };
});

index.js

window.fn = {};

window.fn.open = function() {
    var menu = document.getElementById('menu');
    menu.open();
};

window.fn.load = function(page) {
    var content = document.getElementById('content');
    var menu = document.getElementById('menu');
    content.load(page)
        .then(menu.close.bind(menu));
};

您的 HTML

有错别字

ng=click="advance()"更改为ng-click="advance()"

注意破折号而不是等号。