我正在阅读一些文档和一个thinkster教程。这是一些代码:
我的控制器依赖于消息工厂:
angular.module('app').controller('PostCtrl', function (messages){
var self = this;
self.newMessage = 'Hello World!';
self.addMessage = function(message){
messages.add(message);
self.newMessage = '';
};
});
我的简单形式html:
</div>
<div ng-controller="PostCtrl as post">
<form ng-submit="post.addMessage(post.newMessage)">
<input type="text" ng-model="post.newMessage">
<button type="submit">Add Message</button>
</form>
</div>
我的消息工厂:
angular.module('app').factory('messages', function(){
var messages = {};
messages.list = [];
messages.add = function(message){
messages.list.push({id: messages.list.length, text: message});
};
return messages;
});
我的问题:
1)在控制器中,消息在行上引用了什么:
messages.add(message);
消息是指工厂名称还是
var messages
在工厂?
2)为什么我们要经历在控制器中定义自我的麻烦?