gpt4 book ai didi

javascript - 如何在 meteor 中声明一个 Angular Controller ?

转载 作者:行者123 更新时间:2023-11-30 00:23:47 25 4
gpt4 key购买 nike

几个月以来,我一直处于 Angular 的世界,我总是这样实例化我的 Controller :

首先我创建了 angular.module:

angular.module("dummyApp", ['some-directive']).config(...).run(...);

在我可以在此模块中创建 Controller 之后:

angular.module("dummyApp").controller("dummyCtrl", function($scope) { 
// some logic here
});

(对应的html已经到位)

现在,我开始同时使用 meteor 和 angular。当我尝试声明一个 Controller 时,错误是(我知道这意味着什么):

Uncaught Error: [$injector:nomod] Module 'dummyApp' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

我究竟如何在 meteor 中做到这一点?我尝试了这个和很多具有相同结果的变体。可能是我不使用 $meteor?语法 ControllerAs?

让我感到沮丧的是,如此简单的事情却占用了我的时间。

更新

索引.html

<body ng-app="EyEnsure">
<div class="container">
<!-- Navbar goes here -->
<!-- Navbar goes here -->
<nav>
<div class="nav-wrapper">
<a href="#!" class="brand-logo">Logo</a>
<a href="#" data-activates="mobile-demo" class="button-collapse"><i class="material-icons">menu</i></a>
<ul class="right hide-on-med-and-down">
<li><a ui-sref="Map">Map</a></li>
</ul>
</div>
</nav>

<!-- Page Layout here -->
<div class="section card-panel teal lighten-2">
<!-- Aquí se insertan las vistas -->
<div ui-view></div>
</div>
<!-- end layout -->

主要.js:

angular.module("EyEnsure", ['angular-meteor', 'ui.router', 'uiGmapgoogle-maps'])
.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise("/");
$stateProvider
.state('Home', {
url: "/",
template: UiRouter.template('main.html')
})
.state("Map", {
url: "/map",
template: UiRouter.template('map.html'),
//controller: 'mapCtrl', // I tried this..
//controllerAs: 'map'
})
});

查看我想显示谷歌地图的地方:

<template name="map.html">

<div ng-controller="mapCtrl">-->
<h1 class="center-align">Map to EyEnsure</h1>
{{tittle}}
<div class="party-details-maps">
<div class="angular-google-map-container">
<ui-gmap-google-map center="party.location || map.center"
events="map.events" zoom="map.zoom">
</ui-gmap-google-map>
</div>
</div>
</div>

MapController.js:

angular.module("EyEnsure")
.controller('mapCtrl', function($scope) {
$scope.tittle = "Hello!";
$scope.map = {
center: {
latitude: 45,
longitude: -73
},
zoom: 8,
events: {}
};
});

为了以防万一,我的包安装在 .meteor/packages 中:

meteor-platform
urigo:angular
angularui:angular-ui-router
netanelgilad:ng-cordova
angular:angular-material
materialize:materialize
urigo:angular-ui-router
angularui:angular-google-maps

最佳答案

问题不是如何声明 Angular Controller ,而是 meteor 如何加载文件。

我创建 Angular 应用程序的 js 管理器位于错误的目录中。所以我放入了 clint/lib

原因是here.

关于javascript - 如何在 meteor 中声明一个 Angular Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32214262/

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