【发布时间】:2016-03-25 23:49:20
【问题描述】:
我正在使用 Riot Games API 开发应用,但本示例使用 REST Countries API 完成。 https://restcountries.eu/rest/v1/alpha/co
我使用 MEAN.IO 堆栈,这是我的代码:
test.html
<html ng-app="lolData">
<head>
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="https://code.getmdl.io/1.1.3/material.indigo-pink.min.css">
<script defer src="https://code.getmdl.io/1.1.3/material.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<section id="center" ng-controller="summonerStats">
<form ng-submit="search()">
<div class="mdl-textfield mdl-js-textfield">
<input class="mdl-textfield__input" type="text" id="summonerName" placeholder="Summoner Name">
<label class="mdl-textfield__label" for="sample1"></label>
</div>
<input class="mdl-button mdl-js-button mdl-button--raised mdl-button--colored" type="submit" value="Search"/>
<p ng-show="show">
{{ mystats.name }}
</p>
</form>
</section>
</body>
</html>
test.js
'use strict';
var lolData = angular.module('lolData', []);
console.log("before controller");
lolData.controller('summonerStats', function($scope, $http) {
var url = "https://restcountries.eu/rest/v1/alpha/co";
console.log("inside controller");
$scope.show = false;
$scope.search = function() {
$http.get(url)
.success(function(response) {
$scope.mystats = response;
$scope.show = true;
console.log("inside success controller");
});
};
});
当我刷新页面时,代码会一直执行到“控制器之前”console.log。它无法进入 lolData.controller。并在浏览器控制台中显示以下错误。
而且 html 不接受嵌入的 javascript 范围。
我错过了什么?
更新 1:
我在 codepen 中添加了 index.html:Index.html
还有代码笔中的 Header.html:header.html
【问题讨论】:
-
可以显示 index.html 吗?
-
是的,你在哪里插件 angular.js?
-
检查浏览器开发工具网络。听起来那个文件没有加载。没有显示 Angular 或您的应用脚本的脚本标签
-
我已经添加了 index 和 header html。每个都有不同的控制器,但与 ng-app 无关。
标签: javascript angularjs rest mean.io