У меня есть этот код, и она работает:AngularJS: Фабрика и фильтры - завод не работает
var app = angular.module('twitterApp', ['twitterApp.services', 'ngSanitize']);
app.filter('clearImage', function() {
return function (text) {
var str = text.replace(/_normal./g, '.');
return str;
};
});
app.filter('links', function() {
return function (text) {
var str = text.replace(/@([^ ']+)/g, function(u, screen_name) {
var link = '<a target=blank href="http://twitter.com/intent/user?screen_name=' + screen_name + '">' + u + '</a>';
return link;
});
str = str.replace(/#([^ ']+)/g, function (t, hash) {
var link = '<a target=blank href="https://twitter.com/hashtag/' + hash + '?src=hash">' + t + '</a> ';
return link;
});
return str;
};
});
Я пытаюсь быть более объектно-ориентированным и модульная, так что я сделал следующий код, но он не работает:
var app = angular.module('twitterApp', ['twitterApp.services', 'ngSanitize']);
app.factory('StratoFactory', function() {
var factory = {};
return {
removeNormalStringFromImage : function(text) {
var str = text.replace(/_normal./g, '.');
return str;
},
userName2Link : function(text) {
var str = text.replace(/@([^ ']+)/g, function(u, screen_name) {
var link = '<a target=blank href="http://twitter.com/intent/user?screen_name=' + screen_name + '">' + u + '</a>';
return link;
});
str = str.replace(/#([^ ']+)/g, function (t, hash) {
var link = '<a target=blank href="https://twitter.com/hashtag/' + hash + '?src=hash">' + t + '</a> ';
return link;
});
return str;
}
};
return factory;
});
app.filter('clearImage', function(StratoFactory) {
return function(text) {
StratoFactory.removeNormalStringFromImage(text);
};
});
app.filter('links', function(StratoFactory) {
return function(text) {
StratoFactory.userName2Link(text);
};
});
Может кто-нибудь объяснить мне причину того, что не так со второй версией кода? Благодаря!
Javascript песочница было бы очень полезно –
Привет @STEVER, я использовал код с этой страницы [ссылка] (http://www.chaosm.net/blog/2014/05/24/angularjs-твиттер-аутентификации с-OAuth-ю /). Только, я добавил эти фильтры и применил их к ответу JSON. –