我正在看这个jsfiddle:http://jsfiddle.net/carpasse/mcVfK/ 它工作正常,这不是问题,我只是想知道如何通过JavaScript调试.我试图使用调试器命令,我无法在源选项卡中找到它?知道如何调试这个吗?
来自小提琴的一些代码:
angular.module('app', ['appServices'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/home', {templateUrl: 'home.html', controller: HomeCtrl}).
when('/list', {templateUrl: 'list.html', controller: ListCtrl}).
when('/detail/:itemId', {templateUrl: 'detail.html', controller: DetailCtrl}).
when('/settings', {templateUrl: 'settings.html', controller: SettingsCtrl}).
otherwise({redirectTo: '/home'});
}]);
Run Code Online (Sandbox Code Playgroud) 我已经将node.js应用程序部署到node.js,但无法从我的应用程序中看到完整的console.log语句.我在用:
heroku logs
Run Code Online (Sandbox Code Playgroud)
显示了一些日志记录,但看起来它不是完整的日志.是否有node.js包来从已部署的应用程序发送电子邮件?电子邮件在我的本地机器上工作正常.
电邮代码:
console.log('try to send email hold on');
var nodemailer = require("nodemailer");
var smtpTransport = nodemailer.createTransport({
service: "Gmail",
auth: {
user: "myemail@gmail.com",
pass: "mypw"
}
});
smtpTransport.sendMail({
from: "Dikkebil", // sender address
to: "myemail@gmail.com", // comma separated list of receivers
subject: "Error body", // Subject line
text: 'Error body: ' +error.body+ '\n'+ 'error type:' + error.type +'\n' +'error statuscode:' +error.statusCode +'\n' + 'error args:' + error.arguments[0]
}, function(error, response){
if(error){
console.log(error);
}else{
console.log("Message sent: " + response.message); …
Run Code Online (Sandbox Code Playgroud) 尝试根据同一行中的另一个值从gridcollection显示columnvalue.用户可以选择/更改包含带有值的网格的模态中的值.当模态关闭时,值将被传回.那时我想为'也称为'设置一个值:
HTML:
Also known as: <input type="text" `ng-model="displayValue(displayNameData[0].show,displayNameData[0].value)">`
Run Code Online (Sandbox Code Playgroud)
我在范围上创建了一个函数,仅在'show'值为true时才选择值:
$scope.displayValue = function (show, val) {
if (show) {
return val;
}
else {
return '';
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我关闭模态时,我收到一个错误:
Error: [ngModel:nonassign] Expression 'displayValue(displayNameData[0].show,displayNameData[0].value)' is non-assignable.
Run Code Online (Sandbox Code Playgroud)
plnkr参考:http://plnkr.co/edit/UoQHYwAxwdvX0qx7JFVW?p = preview
尝试使用带有ng-show语句的指令.基本上它会检查字符串的值,这是我的'names'jsonarray中的status_p1属性:
ng-show="name.status_p1==working"
Run Code Online (Sandbox Code Playgroud)
该指令定义如下:
app.directive('radioButton',function(){
return {
restrict: 'E',
replace: 'true',
template: '<table border="2px">' +
'<tr><td>{{name.name}}</td><td>Working</td><td><img src="http://www.iconshock.com/img_jpg/REALVISTA/general/jpg/256/cross_icon.jpg" alt="img1" id="imgworking" ng-show="name.status_p1!=working"><img src="http://png-1.findicons.com/files/icons/2198/dark_glass/128/camera_test.png" alt="img2" ng-show="name.status_p1==working"></td></tr>' +
'</table>'
};
})
Run Code Online (Sandbox Code Playgroud)
我的主页面中的控制器+ namesarray如下所示:
app.controller('MainCtrl', function($scope) {
$scope.names = [
{
name: 'couple 1',
status_p1: 'working',
status_p2: 'retired'
}
]
});
Run Code Online (Sandbox Code Playgroud)
最后是主页:
<body ng-controller="MainCtrl">
<div ng-repeat="name in names">
<radio-button></radio-button>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
当前显示一个十字架,它应显示一个检查/勾选.我期望条件评估为TRUE,因为status_p1属性等于'working'.如何修改此ng-showstatement以使字符串比较有效?plunkr链接:http://plnkr.co/edit/3VdsbsSHpkNJFVnvkmOW?p = preview
我正在尝试运行我的茉莉花单元测试服务.我已经嘲笑$ location但收到错误:
app.factory('testService', function($location) {
return {
config: function() {
var host = $location.absUrl();
var result = '';
if (host.indexOf('localhost') >= 0) {
return 'localhost'
}
if (host.indexOf('myserver') >= 0) {
return 'myserver'
}
}
};
});
Run Code Online (Sandbox Code Playgroud)
我的测试看起来像这样:
describe('testing service', function () {
var configService, $rootScope, $location;
beforeEach(module('myApp'));
beforeEach(inject(function (_$location_) {
//$rootScope = _$rootScope_;
$location = _$location_;
//configService=_configService_;
spyOn($location, 'absUrl').andReturn('localhost');
}));
it('should return something ', function () {
inject(function (configService) {
//expect($location.absUrl).toHaveBeenCalled();
//expect($rootScope.absUrl()).toBe('localhost');
var result= configService.config($location);
expect(result).toBe('localhost');
});
});
}); …
Run Code Online (Sandbox Code Playgroud) 试图让我的头围绕茉莉花间谍,这是我的测试看起来像:
$scope.switchTurns = function () {
$scope.playerTurn = !$scope.playerTurn;
console.log($scope.centrePileCards.length);
if ($scope.playerTurn == 1) {
$scope.pickCard();
}
}
Run Code Online (Sandbox Code Playgroud)
我的单元测试看起来像这样:
it('should pick one card',function(){
var controller = createController();
spyOn(scope,'pickCard')
scope.switchTurns();
scope.playerTurn=1;
expect(scope.pickCard()).toHaveBeenCalled();
})
Run Code Online (Sandbox Code Playgroud)
我现在收到此错误:
Error : Expected a spy , but got undefined.
Run Code Online (Sandbox Code Playgroud)
建议?
我正在使用量角器1.3.1并运行安装了IE11的iedriverserver.exe 2.43.0.0(windows).这是我的规格:
describe('quick test IE driver', function () {
it('should go to ng homepage', function () {
browser.driver.get('https://angularjs.org/');
var title =element(by.css('h1')).getText();
expect(title).toBe('HTML enhanced for web apps!');
});
});
Run Code Online (Sandbox Code Playgroud)
这是我的protractor.conf.js:
exports.config = {
// The address of a running selenium server.
//seleniumAddress: 'http://localhost:4444/wd/hub',
capabilities: {
'browserName': 'internet explorer',
'platform': 'ANY',
'version': '11'
},
// Spec patterns are relative to the current working directly when
// protractor is called.
specs: ['main.spec.js'],
// Options to be passed to Jasmine-node.
jasmineNodeOpts: {
showColors: true, …
Run Code Online (Sandbox Code Playgroud) 我使用yo-angular生成带有bootstrap/grunt/bower的angularjs模板.我还想在应用程序中使用下划线:
npm install underscore --save-dev
Run Code Online (Sandbox Code Playgroud)
在MainCtrl中我调用underscore.js只是为了看它是否有效:
angular.module('yomanApp')
.controller('MainCtrl', function ($scope) {
$scope.awesomeThings = [
'HTML5 Boilerplate',
'AngularJS',
'AngularJS'
];
_.each([1,2,3],console.log);
});
Run Code Online (Sandbox Code Playgroud)
当我使用Chrome运行应用程序时,我在控制台中获得了这个错误:
ReferenceError: _ is not defined
at new <anonymous> (http://localhost:9000/scripts/controllers/main.js:18:5)
at invoke (http://localhost:9000/bower_components/angular/angular.js:4203:17)
at Object.instantiate (http://localhost:9000/bower_components/angular/angular.js:4211:27)
at http://localhost:9000/bower_components/angular/angular.js:8501:28
at link (http://localhost:9000/bower_components/angular-route/angular-route.js:975:26)
at invokeLinkFn (http://localhost:9000/bower_components/angular/angular.js:8258:9)
at nodeLinkFn (http://localhost:9000/bower_components/angular/angular.js:7768:11)
at compositeLinkFn (http://localhost:9000/bower_components/angular/angular.js:7117:13)
at publicLinkFn (http://localhost:9000/bower_components/angular/angular.js:6996:30)
at $get.boundTranscludeFn (http://localhost:9000/bower_components/angular/angular.js:7135:16) <div ng-view="" class="ng-scope">
Run Code Online (Sandbox Code Playgroud)
在此错误之后,我将模块添加到app config:'use strict';
/**
* @ngdoc overview
* @name yomanApp
* @description
* # yomanApp
*
* Main module of …
Run Code Online (Sandbox Code Playgroud) 让我的头围绕量角器...如何访问angularjs页面上的按钮元素,如下所示:
<button class="button primary">Save</button>
Run Code Online (Sandbox Code Playgroud)
在我的测试中使用它:
element(by.css('button primary')).click();
Run Code Online (Sandbox Code Playgroud)
得到错误:
NoSuchElementError: No element found using locator: By.cssSelector("button primary")
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
刚刚开始使用webstorm 9,已经使用了很多vs.net并错过了"解决方案资源管理器中的跟踪项"功能.我想在左侧的项目查看器中看到该文件突出显示.如何在webstorm中配置它?
angularjs ×7
jasmine ×2
protractor ×2
bower ×1
debugging ×1
gruntjs ×1
heroku ×1
javascript ×1
jsfiddle ×1
karma-runner ×1
ng-grid ×1
node.js ×1
nodemailer ×1
npm ×1
spy ×1
tdd ×1
webstorm ×1
windows ×1