Javascript 问:奇怪的是,什么都不起作用
我在一个网站上看到了一个关于如何使用$q的示例,并尝试将其粘贴到一个测试项目中,并对其进行了一些更改 我试图实现的功能是按下按钮,检索根目录中的JSON文件,当前提成功时,在ng repeat指令中显示JSON内容 这是我的服务,它使用$q的承诺:Javascript 问:奇怪的是,什么都不起作用,javascript,angularjs,Javascript,Angularjs,我在一个网站上看到了一个关于如何使用$q的示例,并尝试将其粘贴到一个测试项目中,并对其进行了一些更改 我试图实现的功能是按下按钮,检索根目录中的JSON文件,当前提成功时,在ng repeat指令中显示JSON内容 这是我的服务,它使用$q的承诺: app.factory('dataService', ["$http", "$q", function($http, $q) { return { getAll: getAll } function getA
app.factory('dataService', ["$http", "$q", function($http, $q) {
return {
getAll: getAll
}
function getAll() {
var defered = $q.defer();
var promise = defered.promise;
$http.get('data.json')
.success(function(data) {
defered.resolve(data);
})
.error(function(err) {
defered.reject(err)
});
return promise;
}
}
}))
这是HTML。奇怪的是,我的ng show指令根本不起作用;跨度始终显示角度表达式,就好像根本没有导入角度表达式一样:
<!DOCTYPE html>
<html ng-app="miApp">
<head>
<meta charset="UTF-8">
<script src="angular.js"></script>
<script src="mainmodule.js"></script>
<link rel="stylesheet" href="bootstrap/css/bootstrap.css">
</head>
<body ng-controller="Controller1">
<button ng-click="receive()">Import data</button>
<span ng-show="dataArrived" ng-repeat="user in users">- Name: {{user.name}}, Age: {{user.age}}, Job: {{user.job}}</span>
</div>
</body>
</html>
我根本不知道发生了什么事。Angular对我来说似乎坏得要命:它在控制台上没有显示任何错误(一整天都是这样,我真的很讨厌这个平台),它不计算表达式,指令就是不起作用,等等
我猜我的代码有一部分破坏了它,但它应该会显示一条该死的错误消息,所以也许我只是有一些设计问题。有人能找到哪里出了问题吗?您有一个结束div标记,但没有开始标记,因此这可能会弄乱您的html旧代码中的大量错误。这是一个固定的plnkr: 问题主要是您没有将
receive
函数正确分配给作用域。必须这样做:
$scope.receive = function() {
你的代码是
$scope.receive(function() {
也修复了。我真的不知道上一个div是如何被删除的。
ng app=“miApp”>
你的代码有没有可能以angular.module('myApp')
(而不是('miApp')
)开头呢?聪明的一个,但不,我用的是“miApp”(我是西班牙人,所以“mi”像“my”)。一般来说,这是值得一试的:)“angular没有做任何事情,甚至没有抛出错误”表示它已安装(否则会出现“undefined variable'angular'”类型错误),但配置不正确(例如查找不存在或名称错误的ng应用程序)。(您正在某处定义变量'app'
,对吗?var-app=angular.module('miApp')
等。)问题是代码中有很多未纠正的错误。哇,请不要将问题重写为完全不同的问题,这会使以前的答案/注释变得混乱和无用
$scope.receive(function() {