簡體   English   中英

盡管已指定控制器,但仍未對其進行訪問

[英]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()"

注意破折號而不是等號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM