Articles of angularjs

当Angular不可用时,如何等待一个元素与量angular器可见?

我有一个用于量angular器testing的login函数,它看起来像这样: var config = require("../helpers/config.js"); var login = function() { browser.driver.get(config.dsp.url); browser.driver.findElement(by.name("userName")).sendKeys(config.dsp.user); browser.driver.findElement(by.name("password")).sendKeys(config.dsp.password); return browser.driver.findElement(by.name("submit")).click().then(function() { return browser.driver.wait(function() { return browser.driver.isElementPresent(browser.driver.findElement(by.className("sample-class-name"))); }, 360000); }); } module.exports = login; 我不能使用任何量angular器特定的钩子,因为在这个页面上没有使用Angular,所以我必须使用底层的webdriver API。 问题是,我似乎无法弄清楚如何等待,直到一个元素是可见的使用这个包装的webdriver对象。 任何帮助,将不胜感激。

控制器是在DOM中加载,但视图没有加载,无法find控制器oclazyload与玉(pugjs)

我为我的项目和angular-ui-routing使用angular 1.6来与PugJs进行HTML模板的路由。 我试图在我的应用程序中实现Lazyload,但不知何故,它不工作可能是由于玉。 代码: var app = angular.module('myApp',['ui.router','oc.lazyLoad']); app.config(['$ocLazyLoadProvider', function($ocLazyLoadProvider { $ocLazyLoadProvider.config({ debug: true, modules: [{ name: 'js', files: ['js/*'] }] }); }]); .state("exampleState", { url: '/example', templateUrl: '/example', controller:'exampleCtrl', resolve: { deps: ['$ocLazyLoad', function($ocLazyLoad) { return $ocLazyLoad.load({ files: ['/js/exampleCtrl.js'] }) }] } }) 控制器: app.controller('exampleCtrl',function($scope){ console.log('controller loaded'); }); 在前端我使用节点将这些玉转换成HTML,所以当“templateUrl”被路由服务访问时,它将被redirect到这个代码: app.get('/example', function(req, res) { res.render('/example'); […]

在AngularJS中用无限滚动过滤页面

我在我的AngularJS + Node.js应用程序上实现了无限的滚动function。 它基于这个JSfiddle,并以相同的方式工作: http : //jsfiddle.net/vojtajina/U7Bz9/ HTML: <div id="fixed" when-scrolled="loadMore()"> <ul> <li ng-repeat="i in items">{{i.id}}</li> </ul> </div>​ 使用Javascript: function Main($scope) { $scope.items = []; var counter = 0; $scope.loadMore = function() { for (var i = 0; i < 5; i++) { $scope.items.push({id: counter}); counter += 10; } }; $scope.loadMore(); } angular.module('scroll', []).directive('whenScrolled', function() […]

AngularJS可以在没有REST API的情况下使用吗?

当我用node.js创build一个简单的网站时,使用视图引擎(例如.jade)和向其提供数据的控制器(例如,简单的待办事项列表)很好。 但是,如果我决定添加AngularJS作为客户端框架,那么似乎我必须在后端实现REST API来从中获取数据。 几乎所有我在AngularJS上看到的例子都有这样的基本架构:客户端(angular)通过REST API与服务器通信。 AngularJS可以使用没有REST API,如果是的话,我应该做还是应该避免它? 在没有REST API后端的情况下是否有使用AngularJS的build议/最佳实践?

使用AngularJS从Node.JS服务器下载文件

我想从使用NodeJS运行的服务器下载浏览器的文件。 在服务器端,为服务文件我有: exports.download = function(req, res) { var filename = "33.jpg"; var filePath = path.join(__dirname, '..', '..', 'downloads', filename); var stat = fs.statSync(filePath); var fileToSend = fs.readFileSync(filePath); res.writeHead(200, { 'Content-Type': 'image/jpeg', 'Content-Length': stat.size, 'Content-Disposition': filename }); res.end(fileToSend); }; 存在名为33.jpg的文件,大小为744Kb。 来自客户的电话很棒 在AngularJS的客户端这里是我如何打电话来获取文件(目前参数uri不使用): $scope.downloadTrack = function(uri) { $http.post('/api/files/download', {uri: uri}).then(function(response) { var blob = new Blob([response.data], { […]

从客户端传递给nodeJS时,string转换为Object

我正在使用yeoman angular-fullstack来生成我的项目。 所以客户端是angularJs(typeScript),后端是nodeJs。 问题是我有一个variables,当我打印到控制台,我得到一个非常长的string,(如果你需要知道它从googleplacesapi photo_reference)。 而当我通过它的http.get传递给nodeJS api,并将其打印到日志中,我得到响应Object对象。 MainController for (var photo of response.data.result.photos) { this.getImages(photo); console.log(photo.photo_reference); } getImages(photo_reference: string): void{ this.$http.get('/api/image/' + photo_reference).then((response) => { }); } 的NodeJS export function show(req, res) { console.log("photoreference:" + req.params.photoreference);

我如何在Angularjs量angular器中使用系统环境variables?

我的计划是将用户名和密码存储为系统环境variables,并将其引用到Angularjs量angular器configuration文件中。 我在/etc/environment定义了variables。 这是我迄今为止所尝试的: params: { login: { user: $E2E_USER, pass: $E2E_PASS } } 我也试过这个: params: { login: { user: process.env.E2E_USER, pass: process.env.E2E_PASS } } 任何帮助将非常感激!

如何使用module.exports并需要量angular器testing?

我想在我的e2etesting中使用PageObject模式,但我得到一个消息,该模块没有find(错误:无法find模块InsuredSearchPage) 在/acceptance/insured/search/SearchPage.js中 我有以下 enter code here var InsuredSearchPage = (function () { 'use strict'; function InsuredSearchPage() { var searchButton = element(by.id(searchFormBtn)); var page = { search: search }; return page; function search() { searchButton.click(); } } return InsuredSearchPage; })(); module.exports = InsuredSearchPage; 并在testing(即相同的文件夹),我有这个 var InsuredSearchPage = require("InsuredSearchPage"); 当我运行testing时,我得到“错误:找不到模块InsuredSearchPage”。 我究竟做错了什么?

当它不应该时,authentication返回“401(未授权)”

我第一次设置了身份validationfunction,并且在用户login后得到了一些意想不到的结果。一位同事给了我一个有效身份validation的应用程序来模拟我的应用程序,好像我所做的一切都是正确的。 我在前端使用AngularJS,SailsJS后端框架和PassportJS身份validation中间件。 我的源是(现在)公开存储…后端API在Github这里( API Github )和前端代码在这里( 前端Github ) 基本上发生的是用户 点击loginbutton,触发这个function login: function (credentials) { return baseAuth.customPOST(credentials, 'login').then(function (user) { $log.debug('User logged in: ', user); isAuthenticated = true; return user; }); }, 该customPOST的控制器逻辑是这样的 login: function (req, res, next) { passport.authenticate('local', function (err, user, info) { if (err) { return res.json(err); } else if (user) { req.logIn(user, […]

webpack-dev-server与后端api

我正在使用一个angularjs应用程序的webpack-dev-server,我从package.json中的一个任务开始,如下所示: "scripts": { "start-api": "node api/server.js", "dev": "webpack-dev-server –env dev –history-api-fallback –inline –progress –port 5000", "start": "npm run dev" }, 我有一个后端api服务器使用koa,并在同一个端口上运行: const koa = require('koa'); app.listen(5000); module.exports.app; 当koa服务器启动时,它拦截所有的请求,我不能浏览angular度浏览器的应用程序。 我应该服从koa的一切还是有办法让这两个人一起工作?