我正在构建一个grunt文件,我有2个文件夹需要应用相同的grunt任务.我希望能够使用grunt template属性迭代每个文件夹,这样我就不必通过重复配置对象来膨胀我的grunt配置对象.像这样:
app1: {
name: 'app1',
src: ['src/app/<%= app1.name %>'],
jsTpl: ['<%= distdir %>/<%= app1.name %>/templates/**/*.js'],
js: '<%= app1.src %>/**/*.js'
},
app2 {
name: 'app2',
src: ['src/app/<%= app2.name %>'],
jsTpl: ['<%= distdir %>/<%= app2.name %>/templates/**/*.js'],
js: '<%= app2.src %>/**/*.js'
},
concat: {
app1: {
src: ['<%= app1.src %>'],
dest: ['dist']
},
app2: {
src: ['<%= app2.src %>'],
dest: ['dist/<%= app2.name %>']
}
}
Run Code Online (Sandbox Code Playgroud)
这将是理想的,非常干燥,不必重复app1和app2-rather,这将是真棒,让他们通过一些配置组合在一起.但我似乎无法弄明白该怎么做.谢谢你的帮助!
谢谢!
形象不言而喻;该脚本位于调试器的忽略列表中;但每次我触发此异常时,它都会暂停。我无法取消选中Pause on caught exceptions,因为我试图暂停另一个启动脚本中捕获的异常。
Devtools 说The debugger will skip stepping through this script, and will not stop on exceptions,但它只是这样做,它并没有跳过这个脚本。
我尝试过几种方法,例如忽略/重新忽略。使用canary等。我在windows和osx机器上都有这个问题;所以这似乎与我的环境没有特别相关。
我想知道是否有其他人遇到过这个问题并找到了解决方法。谢谢。
呦!我有一个控制器,里面有一堆物品$scope.其中一个范围项目$scope.openDialog打开一个$mdDialog通道$mdDialog.show().传入的对象$mdDialog.show有一个模板,其中包含通过ng-file-upload项目上传文件的控件,您可以在这里阅读.
如果在退出对话框窗口后,在对话框窗口中上传的项目在主控制器中可用,我希望这样.我不确定对话框窗口的控制器是应该引用主myCtrl控制器还是使用它自己的控制器,以及如何使make上传的文件可用myCtrl.
这是角度代码:
angular.module('app', ['ngMaterial', 'ngFileUpload'])
.controller('myCtrl', ['$scope', '$mdDialog', 'Upload', function($scope, $mdDialog, Upload) {
var tmpl = "<md-dialog>\n" +
"<md-dialog-content>\n" +
" <input type=\"text\" ng-model=\"username\"></br></br>\n" +
" <input type=\"checkbox\" ng-model=\"multiple\">upload multiple file</br></br>\n" +
" watching model:\n" +
" <div class=\"button\" ngf-select ng-model=\"files\" ngf-multiple=\"multiple\">Select File</div>\n" +
" on file change:\n" +
" <div class=\"button\" ngf-select ngf-change=\"upload($files)\" ngf-multiple=\"multiple\">Select File</div>\n" +
" Drop File:\n" + …Run Code Online (Sandbox Code Playgroud) javascript angularjs angularjs-scope material-design angular-material
我一直在努力让ngFileUpload 工作,以便我可以上传图像并将它们发送到数据库 - 在我的情况下是一个mongoLab数据库接受JSON对象,可以使用如下POST语法编辑:
$http.post('myMongoName/myDb/myCollection/myTable', {'key': 'value'})
Run Code Online (Sandbox Code Playgroud)
相当简单.但是,我对如何将使用上传的图像发送ngFileUpload到数据库感到困惑.我正在使用ngFileUpload文档页面上介绍的熟悉语法:
$scope.upload = function (files) {
if (files && files.length) {
for (var i = 0; i < files.length; i++) {
var file = files[i];
console.log(file);
Upload.upload({
url: myMongoLabURL,
fields: {'sup': 'sup'},
file: file
})
}).success(function (data, status, headers, config) {
console.log('file ' + config.file.name + 'uploaded. Response: ' + data);
});
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,在记录file对象时,我得到了对象:
File {}
$$hashKey: "object:76"
lastModified: 1433922719000
lastModifiedDate: Wed …Run Code Online (Sandbox Code Playgroud) 我package.json在AWS ec2实例上有一个相当典型的例子.我正在运行npm install而不是安装
{
"name": "angular-app-server",
"description": "Back end server to support our angular app",
"version": "0.0.1",
"private": true,
"dependencies": {
"assert": "^1.3.0",
"async": "^0.9.0",
"bcrypt-nodejs": "0.0.3",
"body-parser": "^1.13.1",
"connect-multiparty": "^1.2.5",
"express": "~3.0",
"express-namespace": "~0.1.1",
"express-session": "^1.11.1",
"forever": "^0.14.2",
"mongodb": "^2.0.36",
"multiparty": "^4.1.2",
"nodemailer": "^1.3.4",
"open": "0.0.3",
"passport": "~0.1.12",
"passport-local": "~0.1.6",
"request": "~2.16.6",
"svgo": "^0.5.3"
},
"devDependencies": {
"grunt": "~0.4",
"grunt-contrib-jshint": "~0.2.0",
"grunt-contrib-nodeunit": "~0.1.2",
"rewire": "^2.0.1",
"supervisor": "~0.4.1"
}
}
Run Code Online (Sandbox Code Playgroud)
它正在安装数十个和几十个包,(通过cd node_modules&ls): …
我正在构建一个Angular表单,它需要一个可重复的表单元素ngRepeat.
<form name="form">
<div ng-repeat="x in [1,2,3,4]">
<input name="something_{{$index}}" ng-model="hi" required>
<div ng-messages="form.something_{{$index}}.$error">
<ng-message="required">This is required</ng-message>
</div>
</div>
<pre>{{form | json: 4}}</pre>
</form>
Run Code Online (Sandbox Code Playgroud)
Angular现在支持动态声明的input名称,因此您不必执行以下操作:
<div ng-repeat="x in [1,2,3,4] ng-form="repeated-form"></div>
Run Code Online (Sandbox Code Playgroud)
你可以{{$index}}在里面用它ngRepeat来动态地声明项目.但这似乎不起作用ngMessages,当我尝试将索引绑定到它时会抛出错误.
即:
<div ng-messages="form.something_{{$index}}.$error">
Run Code Online (Sandbox Code Playgroud)
抛出这个:
Error: [$parse:syntax] Syntax Error: Token '{' is an unexpected token at column 16 of the expression [form.something_{{$index}}.$error] starting at [{{$index}}.$error].
Run Code Online (Sandbox Code Playgroud)
如果ng-messages不能观察用{{$ index}}声明的表单值,我们如何动态声明表单上的哪个属性?
PLNKR:http://plnkr.co/edit/4oOasbtffTgKqmxcppUG?p = preview (检查控制台)
在Material Design mdDialog文档中,我注意到他们已经将范围(没有带前缀的美元符号)传递DialogController到底部附近.
(function(angular, undefined){
"use strict";
angular
.module('demoApp', ['ngMaterial'])
.controller('AppCtrl', AppController);
function AppController($scope, $mdDialog) {
var alert;
$scope.showAlert = showAlert;
$scope.showDialog = showDialog;
$scope.items = [1, 2, 3];
// Internal method
function showAlert() {
alert = $mdDialog.alert({
title: 'Attention',
content: 'This is an example of how easy dialogs can be!',
ok: 'Close'
});
$mdDialog
.show( alert )
.finally(function() {
alert = undefined;
});
}
function showDialog($event) {
var parentEl = angular.element(document.body);
$mdDialog.show({
parent: parentEl,
targetEvent: …Run Code Online (Sandbox Code Playgroud) 我正在使用angularJS和requirejs通过angularAMD将复杂的应用程序连接在一起.
我的一个州有两个简单的观点,如下:
$stateProvider
.state("common", {
url: "/",
views: {
"view1": {
templateUrl: "view1.tpl.html"
},
"view2": {
templateUrl: "view2.tpl.html"
}
}
});
Run Code Online (Sandbox Code Playgroud)
HTML
<div ui-view="view1"></div>
<div ui-view="view2"></div>
Run Code Online (Sandbox Code Playgroud)
View1 有一个指令:
.directive('checkViewOneBoxWidth', function ($timeout) {
return {
restrict: 'A',
link: function (scope, elem, attrs) {
var linkFunctionAfterDomComplete = function () {
console.log(elem[0].scrollWidth);
}
$timeout(linkFunctionAfterDomComplete, 0);
}
}
})
Run Code Online (Sandbox Code Playgroud)
而view2有一些适用于造型的页面,包括更改样式表height和width该的view1容器.
我希望函数在样式表修改DOM 之后linkFunctionAfterDomComplete计算元素height和width属性,所以我将函数包装在一个.view2linkFunctionAfterDomComplete …
我正在尝试构建一个非常复杂的应用程序.此应用程序在各自的模块中涉及许多不同的状态,配置和运行块.我认为将这些模块连接在一起的一种好方法是将它们注入一个主app模块,该模块包含所有注入的模块.在这种特定情况下,subapp是注入的子模块.
我发现,subapp运行和配置块不会像他们的父母那样运行,让我在下面演示:
HTML
<html ng-app="app">
<body>
<a href="#/thestate">Head to the state!</a>
<ui-view></ui-view>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
JS
angular.module('app', ['ui.router', 'subapp']);
angular.module('subapp', ['ui.router'])
.run(function($rootScope, $state) {
$rootScope.$on('$stateChangeStart', function(event, toState) {
if (toState.name === "theState") {
event.preventDefault();
$state.go('theState.substate', {
param: 1
});
}
});
})
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider.state('theState', {
url: '/thestate',
template: '<div>this is the main state</div>' +
'<a href="#/thestate/12">Go to state.substate</a>' +
'<ui-view></ui-view>'
})
.state('theState.substate', {
url: '/:param',
template: '<div>{{id}}</div>',
controller: function($scope, $stateParams) {
$scope.id = …Run Code Online (Sandbox Code Playgroud) javascript ×7
angularjs ×6
node.js ×2
amazon-ec2 ×1
angular-amd ×1
css ×1
devtools ×1
express ×1
forms ×1
gruntjs ×1
image ×1