мой вопрос на самом деле прост.Использование угловых контроллеров с прототипом
Возможно использование угловых контроллеров с прототипом?
'use strict';
var EventController = function(scope, EventModel) {
this.scope = scope;
this.EventModel = EventModel;
};
EventController.prototype = {
create: function() {
this.scope.create = function() {
this.EventModel.Model.insert()
.then(function(result) {
});
};
},
retrieve: function() {
var that = this;
this.EventModel.Model.find()
.then(function(result) {
that.scope.events = result;
});
},
retrieveOne: function(id) {
this.EventModel.Model.findOne(id)
.then(function(result) {
console.log(result);
});
},
update: function() {
this.EventModel.Model.update()
.then(function(result) {
});
},
delete: function() {
this.EventModel.Model.remove()
.then(function(result) {
});
}
};
module.exports = function(adminApp) {
adminApp
.controller('EventController', ['$scope', 'EventModel', function(scope, EventModel) {
return new EventController(scope, EventModel);
}]);
};
Я использую Browserify, поэтому у меня есть этот module.exports в финале.
Я хотел бы использовать контроллеры таким образом и получить методы, как если бы это было имя объектов в прототипе.
Есть ли способ, которым я могу это сделать?
Отлично! Могу ли я попросить дополнительную информацию? Как это работало за кулисами? я не понял рамки .j * = 2; –
Это очень надуманный способ проиллюстрировать два момента. Тот факт, что метод работает, показывает, что вы можете добавлять методы области (обратите внимание, что он не вызывается через 'ctrl'). Фактическая строка 'scope.j * = 2;' показывает, что вы можете манипулировать переменными области видимости как обычно (в частности, это умножение 'j' на 2). Ничто из этого не имеет особого отношения к вашему первоначальному вопросу, но просто показывает, что синтаксис «Контроллер как» дает вам гибкость для работы с «областью», как это было до 1.2. Важными компонентами для вас являются 'ng-controller =" TestController как ctrl "и' ng-click = "ctrl.doAThing()" '. – mirichan
Получите это! Благодаря!! –