gpt4 book ai didi

javascript - 参数 'MasterController' 不是函数,未定义

转载 作者:行者123 更新时间:2023-12-02 16:43:12 25 4
gpt4 key购买 nike

我试图让我的应用程序中的一个页面显示一些数据,但我不断收到“参数‘MasterController’不是一个函数,未定义”。奇怪的是,我把代码从文件中分离出来,它自己运行得很好,但当我把它放回去的时候,它就不再工作了。

我只是希望应用程序在单击“旧篮子”菜单项时加载交易数据。任何帮助将不胜感激。这让我发疯了!!!

这是 HTML:

<!doctype html>
<html lang="en" ng-app="app">
<head>
<meta charset="utf-8">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="mobile-web-app-capable" content="yes">
<title>Laundri</title>

<link rel="stylesheet" href="lib/onsen/css/onsenui.css">
<link rel="stylesheet" href="styles/onsen-css-components-blue-basic-theme.css">
<link rel="stylesheet" href="styles/app.css"/>

<script src="lib/onsen/js/angular/angular.js"></script>
<script src="lib/onsen/js/onsenui.js"></script>

<script src="cordova.js"></script>
<script src="js/app.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.5/angular.min.js"></script>
<script>
var module = angular.module('app', ['onsen']);
</script>
<script>
var transactionsmodule = angular.module('transactions', ['onsen']);
</script>
<script>
ons.ready(function() {
});
</script>
<style>
.page--menu-page__background {
background-color: #333;
}

.page--menu-page__content {
color: white;
}

.menu-close,
.menu-close > .toolbar-button {
color: #999;
}

.menu-list,
.menu-item:first-child,
.menu-item:last-child,
.menu-item {
background-color: transparent;
background-image: none !important;
border-color: transparent;
color: #fff;
}

.menu-item {
padding: 0 0 0 20px;
line-height: 52px;
height: 52px;
text-shadow: rgba(0, 0, 0, 0.4) 0px 1px 0px;
}

.menu-item:active {
background-color: rgba(255, 255, 255, 0.1);
}

.menu-notification {
display: inline-block;
margin-top: 12px;
font-size: 14px;
height: 16px;
line-height: 16px;
min-width: 16px;
font-weight: 600;
}

.bottom-menu-list,
.bottom-menu-item:first-child,
.bottom-menu-item:last-child,
.bottom-menu-item {
border-color: #393939;
background-color: transparent;
background-image: none !important;
color: #ccc;
}

.bottom-menu-item:active {
background-color: rgba(255, 255, 255, 0.1);
}
</style>

</head>

<body>
<!-- SLIDING MENU -->
<ons-sliding-menu
menu-page="menu.html" main-page="home.html" side="left"
var="menu" type="reveal" max-slide-distance="260px" swipable="true">
</ons-sliding-menu>

<ons-template id="menu.html">
<ons-page modifier="menu-page">
<ons-toolbar modifier="transparent"></ons-toolbar>

<ons-list class="menu-list">
<ons-list-item class="menu-item" ng-click="menu.setMainPage('home.html', {closeMenu: true})">
<ons-icon icon="fa-home"></ons-icon>
Home
</ons-list-item>

<ons-list-item class="menu-item" ng-click="menu.setMainPage('newbasket.html', {closeMenu: true})">
<ons-icon icon="fa-plus"></ons-icon>
New Laundry Basket
</ons-list-item>

<ons-list-item class="menu-item" ng-click="menu.setMainPage('oldbasket.html', {closeMenu: true})">
<ons-icon icon="fa-history"></ons-icon>
Old Baskets
<div class="notification menu-notification">3</div>
</ons-list-item>
</ons-list>

<br>

<ons-list class="bottom-menu-list">
<ons-list-item class="bottom-menu-item" ng-click="menu.setMainPage('page3.html', {closeMenu: true})">
Settings
</ons-list-item>

<ons-list-item class="bottom-menu-item" ng-click="menu.setMainPage('page4.html', {closeMenu: true})">
Help
</ons-list-item>

<ons-list-item class="bottom-menu-item" ng-click="menu.setMainPage('page5.html', {closeMenu: true})">
Send feedback
</ons-list-item>
</ons-list>
</ons-page>
</ons-template>

<ons-template id="home.html">
<ons-page>
<ons-toolbar>
<div class="left">
<ons-toolbar-button ng-click="menu.toggle()">
<ons-icon icon="ion-navicon" size="28px" fixed-width="false"></ons-icon>
</ons-toolbar-button>
</div>
<div class="center">Home</div>
</ons-toolbar>

<ons-row style="margin-top: 100px;">
<ons-col align="center">
<i style="font-size: 10em;" class="ion-tshirt-outline"></i>
</ons-col>
</ons-row>

</ons-page>
</ons-template>

<ons-template id="newbasket.html">
<ons-page>
<ons-toolbar>
<div class="left">
<ons-toolbar-button ng-click="menu.toggle()">
<ons-icon icon="ion-navicon" size="28px" fixed-width="false"></ons-icon>
</ons-toolbar-button>
</div>
<div class="center">
New Laundry Basket
</div>
</ons-toolbar>
<div ng-app="store" ng-controller="StoreController as store">
<ons-row style="margin-top: 100px; margin-bottom: 100px;">
<ons-row style="margin-bottom: 4em;">
<ons-col align="left" width="10%">
<button class="button button--outline" style="position: absolute; left: 10px; height: 235px;" ng-click="count = count + 1" ng-init="count=0">&uarr;</button>
</ons-col>
<ons-col align="center" width="80%">
<img style="max-width:200px;" class="item_image" ng-src="{{store.currentProduct.images}}"/>
</ons-col>
<ons-col align="right" width="10%">
<button class="button button--outline" style="position: absolute; right: 10px; height: 235px;" ng-click="count = count - 1" ng-init="count=0">&darr;</button>
</ons-col>
</ons-row>
<ons-row style="margin-bottom:20px;">
<ons-col align="center">
<center><input type="number" class="text-input" min="0" max="100" value="{{count}}" style="text-align: center;"></input><center>
</ons-col>
</ons-row>
<ons-row style="margin-top:2em;">
<ons-col align="center">
<ons-button modifier="cta">Add to basket</ons-button>
</ons-col>
</ons-row>
<ons-button modifier="outline" style="position: absolute;bottom: 10px;left: 10px;" ng-click="store.prevProduct()">Back</ons-button>
<ons-button modifier="outline" style="position: absolute;bottom: 10px;right: 10px;" ng-click="store.nextProduct()">Next</ons-button>
</ons-row>
</div>
</ons-page>
</ons-template>

<ons-template id="oldbasket.html">

<ons-page>
<ons-toolbar>
<div class="left">
<ons-toolbar-button ng-app="app" ng-click="menu.toggle()">
<ons-icon icon="ion-navicon" size="28px" fixed-width="false"></ons-icon>
</ons-toolbar-button>
</div>
<div class="center">Old Baskets</div>
</ons-toolbar>
<div ng-app="transactions">
<ons-list ng-controller="MasterController">
<ons-list-item modifier="chevron" class="item" ng-repeat="transaction in transactions">
<ons-row>
<ons-col width="60px">
<div class="item-thum"></div>
</ons-col>
<ons-col>
<header>
<span class="item-title">{{transaction.title}}</span>
<span class="item-label">{{transaction.label}}</span>
</header>
<p class="item-desc">{{transaction.desc}}</p>
</ons-col>
</ons-row>
</ons-list-item>
</ons-list>
</div>
</ons-page>
</ons-template>

<ons-template id="page3.html">
<ons-page>
<ons-toolbar>
<div class="left">
<ons-toolbar-button ng-click="menu.toggle()">
<ons-icon icon="ion-navicon" size="28px" fixed-width="false"></ons-icon>
</ons-toolbar-button>
</div>
<div class="center">Settings</div>
</ons-toolbar>


<ons-row style="margin-top: 100px;">
<ons-col align="center">
<ul class="list">
<li class="list__item">
Setting 1
<label class="switch switch--list-item">
<input type="checkbox" class="switch__input" checked>
<div class="switch__toggle"></div>
</label>
</li>
<li class="list__item">
Setting 2
<label class="switch switch--list-item">
<input type="checkbox" class="switch__input">
<div class="switch__toggle"></div>
</label>
</li>
<li class="list__item">
Setting 3
<label class="switch switch--list-item">
<input type="checkbox" class="switch__input" checked>
<div class="switch__toggle"></div>
</label>
</li>
<li class="list__item">
Setting 4
<label class="switch switch--list-item">
<input type="checkbox" class="switch__input">
<div class="switch__toggle"></div>
</label>
</li>
</ul>
</ons-col>
</ons-row>

</ons-page>
</ons-template>

<ons-template id="page4.html">
<ons-page>
<ons-toolbar>
<div class="left">
<ons-toolbar-button ng-click="menu.toggle()">
<ons-icon icon="ion-navicon" size="28px" fixed-width="false"></ons-icon>
</ons-toolbar-button>
</div>
<div class="center">Help</div>
</ons-toolbar>


<ons-row style="margin-top: 100px;">
<ons-col align="center">
<ons-button modifier="light" ng-click="menu.toggleMenu()">
HELP ME!
</ons-button>
</ons-col>
</ons-row>

</ons-page>
</ons-template>

<ons-template id="page5.html">
<ons-page>
<ons-toolbar>
<div class="left">
<ons-toolbar-button ng-click="menu.toggle()">
<ons-icon icon="ion-navicon" size="28px" fixed-width="false"></ons-icon>
</ons-toolbar-button>
</div>
<div class="center">Feedback</div>
</ons-toolbar>


<ons-row style="margin-top: 100px;">
<ons-col align="center">
<ons-button modifier="light" ng-click="menu.toggleMenu()">
WADDAYATHINK?
</ons-button>
</ons-col>
</ons-row>

</ons-page>
</ons-template>


</body>
</html>

这是 app.js:

(function() {

app.controller('StoreController', function(){
var productIndex = 0;
this.currentProduct = items[productIndex];
this.nextProduct = function() {
productIndex = productIndex+1;
this.currentProduct = items[productIndex];
};
this.prevProduct = function() {
productIndex = productIndex-1;
this.currentProduct = items[productIndex];
};

});

var items = [
{ item: 'Top', number: 2, images: 'img/shirt_icon.jpeg', description: 'T-shirts, undershirts, singlets, etc.' },
{ item: 'Bottom', number: 5, images: 'img/pants_icon.jpg', description: 'Jeans, shorts, pants, etc.' },
{ item: 'Underwear', number: 3, images: 'img/underwear_icon.jpg', description: 'Undies, G-strings, etc.' },
];

var transactionsmodule = angular.module('transactions', ['onsen']);

transactionsmodule.controller('MasterController', function($scope, $data) {
$scope.transactions = $data.transactions;
});

transactionsmodule.factory('$data', function() {
var data = {};

data.transactions = [
{
title: 'Item 1 Title',
label: '4h',
desc: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'
},
{
title: 'Another Item Title',
label: '6h',
desc: 'Ut enim ad minim veniam.'
},
{
title: 'Yet Another Item Title',
label: '1day ago',
desc: 'Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.'
},
{
title: 'Yet Another Item Title',
label: '1day ago',
desc: 'Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.'
}
];

return data;
});

})();

最佳答案

您调用了两次。

var transactionsmodule = angular.module('transactions', ['onsen']);

一个来自脚本标签,一个来自 app.js。这将创建模块的两个实例。如果您想获取对原始引用的引用,请使用以下语法:

   var transactionsmodule = angular.module('transactions');

关于javascript - 参数 'MasterController' 不是函数,未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27328890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com