我正在尝试将文件列表存储到一个数组中,然后再次遍历该数组.下面是我ls -ls从控制台运行命令时得到的内容.
total 40
36 -rwxrwxr-x 1 amit amit 36720 2012-03-31 12:19 1.txt
4 -rwxrwxr-x 1 amit amit 1318 2012-03-31 14:49 2.txt
Run Code Online (Sandbox Code Playgroud)
我写的以下bash脚本将上述数据存储到bash数组中.
i=0
ls -ls | while read line
do
array[ $i ]="$line"
(( i++ ))
done
Run Code Online (Sandbox Code Playgroud)
但是当我echo $array,我什么都没得到!
仅供参考,我这样运行脚本: ./bashscript.sh
我要做的是启用提交按钮如果所有文本框都包含值.否则禁用提交按钮.但问题是文本框的数量可能会有所变化(动态),因此我无法对ng-disabled属性中的模型进行硬编码.
这是我到目前为止所尝试的:http://jsfiddle.net/codef0rmer/6uKAT/
我应该遵循其他方法吗?
我有这条路线.
// index.html
<div ng-controller="mainCtrl">
<a href='#/one'>One</a>
<a href='#/two'>Two</a>
</div>?????????
<div ng-view></div>
Run Code Online (Sandbox Code Playgroud)
这就是我将部分加载到我的中的方法ng-view.
// app.js
?var App = angular.module('app', []);???????
App.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/one', {template: 'partials/one.html', controller: App.oneCtrl});
$routeProvider.when('/two', {template: 'partials/two.html', controller: App.twoCtrl});
}]);
Run Code Online (Sandbox Code Playgroud)
当我单击链接时,它会在ng-view中显示相应的标记.但是当我尝试包含partials/two.html内部partials/one.html使用时ng-include,它会正确显示它但会创建一个不同的范围,因此我无法与它进行交互.
// partials/two.html - markup
<div ng-controller="twoCtrl">I'm a heading of Two</div>
// partials/one.html - markup
<div ng-controller="oneCtrl">I'm a heading of One</div>
<div ng-include src="'partials/two.html'"></div>
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?或者还有其他方法可以达到相同的效果吗?
我正在写一个chrome扩展,我想要获取页面上存在的所有图像,但是一些图像会在一段时间后加载(可能是通过ajax),一旦DOM空闲,我就无法获取.有没有办法在页面加载后跟踪DOM更改?
我正在努力为我的应用程序设置适当的安全规则.
我正在编写的应用程序概述是用户可以使用电子邮件和密码注册自己(我正在使用Firebase简单登录,这非常有效).登录后,用户可以添加他们的待办事项.
angularFire('https://<firebase>/firebaseio.com/todos', $scope, 'todos');
Run Code Online (Sandbox Code Playgroud)
为了向任何用户添加新的待办事项,我只需更新todos模型.
$scope.todos.push({
user: 'a@b.com',
todo: 'What to do?'
});
Run Code Online (Sandbox Code Playgroud)
这个安全规则我用来限制非注册用户添加任何待办事项:
{
"rules": {
".read": true,
"todos": {
".write": "auth != null",
".validate": "auth.email == newData.child('user').val()"
}
}
}
Run Code Online (Sandbox Code Playgroud)
但它甚至不允许经过身份验证的用户写入任何数据并抛出错误,"FIREBASE WARNING:on()或一次()/ todos失败:错误:permission_denied."
但是,如果我在模拟器中添加以下数据,那么它按预期工作.
{user: "a@b.com", todo: 'What to do?'}
Run Code Online (Sandbox Code Playgroud)
这是日志:
/todos:.write: "auth != null"
=> true
/todos:.validate: "auth.email == newData.child('user').val()"
=> true
/todos:.validate: "auth.email == newData.child('user').val()"
=> true
Write was allowed.
Run Code Online (Sandbox Code Playgroud) 如果我将服务传递到我的main.ts,我可以在任何地方访问它,而无需在我的子组件中调用新的提供程序.在那个服务中,我有变化的变量.
它会更好,以这些变量发送到每个子组件,孙子组件,...等,或只是拨打服务在我的组件来获得这些变量,当我需要他们?
我一直在尝试使用Phonegap并在HTML/Javascript中创建一个小应用程序来发送短信.我尝试了这个代码window.location.href = 'sms:XXXXXXXX06?body=Testing',打开了一个屏幕来手动发送我要自动化的短信.
请注意我通过将项目源代码上传到build.phonegap.com来创建一个Android应用程序,所以我无法修改.apk源代码.
是否可以仅在Javascript中执行此操作?
如果我得到一个元素的 innerHTML,某些子元素应该有一个尾部斜杠作为有效的 XHTML(例如,“<br />”),但它们在 Chrome、Firefox 或 IE 中没有,无论文档类型如何.
显然这在大多数情况下并不重要,但在我的情况下,我使用从 DOM 中拉出 html 作为模板系统的一部分——所以如果这些反斜杠缺失,它们会进入使用这些反斜杠构建的结果页面模板,因此该页面不会验证为 XHTML。非验证页面似乎让我的客户感到难过。
所以....我正在寻找一些 javascript 代码(可能是一个正则表达式),它会在适当的地方添加反斜杠。如果它适用于这些元素类型,那对我来说就足够了:
area, base, br, col, embed, hr, img, input, link, meta, param
我想如果标签中的引号中有 > 就不必混淆了。
我知道有一个 dom-to-xml 库(http://xhtmljs.codeplex.com/)可以做到这一点,但它也可以做很多其他的事情,而且非常暴力。我希望有更简单的东西。
编辑:
好吧,因为我对字符串处理方法没有任何了解,所以我继续做了一些对我有用的事情。(虽然它会被引号中的 > 混淆,我稍后会处理):
var addClosingSlashes = function (htmlString) {
var elemTypes = [
"area", "base", "br", "col", "embed", "hr", "img", "input", "link", "meta", "param"];
var inString, outString = htmlString;
for (var i=0; i<elemTypes.length; i++) {
var index1 = 0, index2;
inString = outString;
outString = …Run Code Online (Sandbox Code Playgroud) 我最近一直在玩Angular.js并决定在选中父复选框后检查所有复选框,我已经完成了使用ng-model和ng-checked指令.
<div ng-app>
<div ng-controller="Ctrl">
<input type="checkbox" ng-model="parent"/> Select All<br/>
<input type="checkbox" ng-model="child_1" ng-checked="parent" ng-click="getAllSelected()"/> First<br/>
<input type="checkbox" ng-model="child_2" ng-checked="parent" ng-click="getAllSelected()"/> Second<br/>
<input type="checkbox" ng-model="child_3" ng-checked="parent" ng-click="getAllSelected()"/> Three<br/>
<input type="checkbox" ng-model="child_4" ng-checked="parent" ng-click="getAllSelected()"/> Four<br/>
<input type="checkbox" ng-model="child_5" ng-checked="parent" ng-click="getAllSelected()"/> Five<br/>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
现在,我正在尝试选中所有子复选框,一旦检查了所有子复选框但面临一些问题.
function Ctrl($scope) {
$scope.getAllSelected = function () {
var chkChild = document.querySelectorAll('input[ng-model^="child_"]').length;
var chkChildChecked = document.querySelectorAll('input[ng-model^="child_"]:checked').length;
if (chkChild === chkChildChecked) $scope.parent= true;
else $scope.parent= false;
}
}
Run Code Online (Sandbox Code Playgroud)
演示:http://jsfiddle.net/codef0rmer/QekpX/
我们可以使上面的代码更健壮吗?
我在App.run下面定义了一些我在控制器中重写的模型someCtrl:
App.run(['$rootScope', function($rootScope) {
$rootScope.attempt = 1;
});
function someCtrl($scope, $rootScope) {
$rootScope.attempt = 2;
$rootScope.checkAttempt = function () {
return $rootScope.attempt > 1 ? true : false;
};
}
Run Code Online (Sandbox Code Playgroud)
页面上有一个按钮超出someCtrl's范围:
<button class='btn' ng-disabled="checkAttempt()">Who's changing my value?</button>
Run Code Online (Sandbox Code Playgroud)
仅供参考,我知道创建服务或使用emit-broadcaste机制来跨控制器共享数据,但我想知道如何将$ rootScope注入控制器?
我正在尝试使用jquery在div中注入以下span.
HTML:
<span epub:type="pagebreak" id="pagePrefix" title="1"></span>
JS:
$('div').html('<span epub:type="pagebreak" id="pagePrefix" title="1"></span>');
Run Code Online (Sandbox Code Playgroud)
并收到以下错误, SyntaxError: DOM Exception 12
任何解决方法吗?