我试图让Angular在一个非常基础的水平上工作。但我只是不明白。我正在做所有的教程和一切。它杀了我。
以下是我正在做的事情:
1。)HTML
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js"></script>
<script src="js/app.js"></script>
<script src="js/Controller.js"></script>
<script src="js/friendsFactory.js"></script>
</head>
<body>
<div ng-app="friendsApp">
<div ng-controller="friendsController">
<h3>{{girlFriendName}}</h3>
</div>
</div>
</body>
</html>
2。)App.js
var friendsApp = angular.module('friendsApp',[]);
3。)Controller.js
friendsApp.controller('friendsController', ['$scope','friendsFactory', function($scope, friendsFactory){
$scope.girlFriendName = friendsFactory.girlFriend();
}]);
4.。)Friendsfactory.js
friendsApp.factory('friendsFactory', function (){
this.girlFriend = function(){
var name = "Girlfriends Name";
return name;
}
});
我想在非常基本的水平上尝试这个,但现在我花了5个小时试图从工厂获得一个名字到控制器。 如果我手动将名称写入控制器,它将起作用,因此控制器会被调用。
有谁能告诉我我在哪里错了?
非常感谢!
答案 0 :(得分:3)
修改工厂代码:
friendsApp.factory('friendsFactory', function (){
this.girlFriend = function(){
var name = "Girlfriends Name";
return name;
}
});
要:
friendsApp.factory('friendsFactory', function (){
function girlFriend(){
var name = "Girlfriends Name";
return name;
}
return {
girlFriend: girlFriend
}
});
答案 1 :(得分:1)
您已创建工厂方法,但未将其返回。
friendsApp.factory('friendsFactory', function (){
this.girlFriend = function(){
var name = "Girlfriends Name";
return name;
}
return {
girlFriend : this.girlFriend
}
});