gpt4 book ai didi

javascript - 涉及 'ui.state' 的 Angular Controller 抛出错误 : Argument 'Controller' is not a function, 获取字符串

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

我刚刚开始尝试使用 github 上的 angular-ui-router 来使用状态而不是困惑的路由。我已经编写了一个 Controller 并将其包含在所有捆绑文件、html 等中。但是,当我导航到本地主机上的页面时,它会在 chrome 控制台中抛出以下错误:“错误:[ng:areq] Argument ' WeatherCtrl'不是一个函数,有字符串”。

以下是我的 Angular 代码:

Kr.controller("WeatherCtrl", ['ui.state'])
.config(['$stateProvider',
function($stateProvider) {

var weather = {
name: 'weather',
url: '/nws',
abstract: true,
templateUrl: 'partials/webtools/nws/weatherDefault.html'
};

var smallWeather = {
name: 'smallWeather',
url: '/nws/shortForecast',
parent: weather,
templateUrl: 'partials/webtools/nws/shortForecast'
};

var mediumWeather = {
name: 'mediumWeather',
url: '/nws/mediumForecast',
parent: weather,
templateUrl: 'partials/webtools/nws/mediumForecast'
};

var bigWeather = {
name: 'bigWeather',
url: '/nws/longForecast',
parent: weather,
templateUrl: 'partials/webtools/nws/longForecast'
};

$stateProvider
.state(weather)
.state(smallWeather)
.state(mediumWeather)
.state(bigWeather);
}
]);

这是相关的 html 代码:

<div ng-controller ="WeatherCtrl">
<div class="span11">
<ul class="a-btn-group text-center">
<li ui-sref-active="active" class="item">
<a ui-sref=".smallWeather" class="btn btn-primary">
<i class="fa fa-bolt"></i> 6 to 10 Day Forecast</a>
</li>
<li ui-sref-active="active" class="item">
<a ui-sref=".mediumWeather" class="btn btn-primary">
<i class="fa fa-bolt"></i> 8 to 14 Day Forecast</a>
</li>
<li ui-sref-active="active" class="item">
<a ui-sref=".bigWeather" class="btn btn-primary">
<i class="fa fa-bolt"></i> Three Month Outlook</a>
</li>
</ul>
</div>
<p ui-sref=='weather'>Please select a Forecast Type using the buttons above</p>
</div>

奇怪的是,当页面状态为“天气”时,段落元素将显示,但我无法确定这是否是因为 ui-sref 被忽略并且段落只是将其自身作为独立元素插入。另外,我确实认识到 Angular 应用程序的语法有点奇怪,但根据 Angular-ui-router 的最新文档,它似乎是正确的。

预先感谢您的帮助!

最佳答案

这个字符串是什么意思?

Kr.controller("WeatherCtrl", ['ui.state'])

我猜您尝试定义 WeatherCtrl Controller ,但提供了数组 ['ui.state'] 而不是 Controller 函数。

试试这个:

Kr.controller("WeatherCtrl", function($scope) {
// Controller logic...
})

关于javascript - 涉及 'ui.state' 的 Angular Controller 抛出错误 : Argument 'Controller' is not a function, 获取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26220668/

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