我的代码中有地方,我有这个:
<input data-ng-disabled="SOME_SCOPE_VARIABLE" />
Run Code Online (Sandbox Code Playgroud)
我也希望能够像这样使用它:
<input data-ng-autofocus="SOME_SCOPE_VARIABLE" />
Run Code Online (Sandbox Code Playgroud)
甚至更好,模仿ng-style的完成方式:
<input data-ng-attribute="{autofocus: SOME_SCOPE_VARIABLE}" />
Run Code Online (Sandbox Code Playgroud)
当前版本的AngularJS中是否存在这种情况?我注意到代码中有一个BOOLEAN_ATTR,它获取AngularJS支持的所有attr.我不想修改它,因为害怕更改版本而忘记更新.
当我销毁自己的示波器时,我的程序中不断出现此错误.我跟踪到了这个while while循环中的角度:
if (!(next = (current.$$childHead || (current !== target && current.$$nextSibling)))) {
while(current !== target && !(next = current.$$nextSibling)) {
current = current.$parent;
}
}
Run Code Online (Sandbox Code Playgroud)
我还设法在一个jsFiddle中复制它:http://jsfiddle.net/kEyqz/1/
它很容易设置,在一个元素上我点击一个点击事件然后$广播点击它然后是$ apply.
在一个单独的指令(带有子范围)中,我会监听该事件,如果我看到它,我会破坏子范围.这样做会产生错误:
Uncaught TypeError: Cannot read property '$$nextSibling' of null
Run Code Online (Sandbox Code Playgroud)
这只是我在代码中尝试完成的一个小例子.
控制台记录在current = current之前.$ parent导致范围没有$ parent(设置为null).
我可以添加这些行:
if(!current){
break;
}
Run Code Online (Sandbox Code Playgroud)
在当前=当前.$ parent之后,但如果我切换角度版本,我必须保持它(不理想)
我试图让我的嵌套路线工作,但现在给我两天的艰难时间:(
一级工作正常
两个级别工作正常
三个级别不起作用!
任何人都可以帮帮我吗?
提前致谢
angular.module('settings', []).config(['$stateProvider', '$routeProvider', '$urlRouterProvider', function($stateProvider, $routeProvider, $urlRouterProvider) {
$stateProvider
.state('settings', {
url: '/settings',
template:"Settings",
controller: function(){
console.log('settings');
}
}).
state('settings.branch', {
url: '/{branchId:[0-9]{1,8}}',
template:"Branch",
controller: function(){
console.log('branch');
}
}).
state('settings.branch.prop', {
url: '/prop',
template:"Property",
controller: function(){
console.log('property');
}
});
}]);
Run Code Online (Sandbox Code Playgroud)
'/ settings'正在运行
'/ settings/1234'正在运行
'/ settings/1234/prop'不起作用,总是返回普遍状态'分支'
我有一个指令,编译另一个指令并将其附加到具有相同范围的主体.这与"父"指令的位置不同.
当父指令被销毁时,有一些方法可以让子指令和范围也被销毁吗?我问,因为在检查DOM后,子指令仍然存在.
目前我挂钩了父母$ destroy事件但是好奇它是否可以自动处理.
jsFiddle: http ://jsfiddle.net/FPx4G/1/
当你切换父母的时候,孩子就呆在那里,但是我想要被摧毁.最好的方法是什么?
HTML:
<div ng-app="app">
<div ng-controller="ParentCtrl">
<button data-ng-click="toggleParent()">Toggle Parent</button>
<div data-ng-switch data-on="displayDirective">
<div data-ng-switch-when="true">
<div class="parentDirective">Parent Directive</div>
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
angular.module('app', [])
.directive("parentDirective", function($compile){
return {
restrict: 'C',
link: function(scope, element){
var secondDirective = angular.element(document.createElement("div"));
secondDirective.addClass("childDirective");
document.body.appendChild(secondDirective[0]);
$compile(secondDirective)(scope);
}
}
})
.directive("childDirective", function(){
return {
restrict: 'C',
template: '<div>Child Directive</div>',
link: function(scope, element){
scope.$on("destroy", function(){
alert(1);
});
}
}
});
function ParentCtrl($scope){
$scope.displayDirective = true;
$scope.toggleParent = function(){
$scope.displayDirective = …Run Code Online (Sandbox Code Playgroud) JsFiddle的问题:http://jsfiddle.net/UYf7U/
在指令编译中使用angularJs transclude时,它将复制任何属性属性.即
<a class="myClass">my link</a>
Run Code Online (Sandbox Code Playgroud)
会变成
<a class="myClass myClass">my link</a>
Run Code Online (Sandbox Code Playgroud)
同样,使用ngClick时
<a ng-click="myFunction()"> my link</a>
Run Code Online (Sandbox Code Playgroud)
会变成
<a ng-click="myFunction() myFunction()"> my link</a>
Run Code Online (Sandbox Code Playgroud)
小提琴演示了这一点,不幸的是它崩溃了.这是我正在尝试实施的简化版本.
有没有解决的办法?我已将问题发布到github:https://github.com/angular/angular.js/issues/2576
单击Hello时,单击"clicked"应显示在警报中.
我正在使用松露部署合同,当我指定气体限制作为我想用于交易的气体时,我总是得到超过气体限制的错误.为什么会这样?
编辑我要做的是将crypto kitties KittyCore.sol合同部署到我的本地devnet.我正在使用松露来部署它.
从另一个页面,如何在使用继承时将松露合同部署到开发网络?,我发现由于存在合同层次结构,我需要按顺序部署合同.我使用了这种技术,并且我能够部署7个合同中的4个,第五个,KittyAuction,给出以下错误:合同代码无法存储,请检查您的燃气量
下面发布的是我的松露部署脚本
var KittyCore = artifacts.require("KittyCore");
var KittyMinting = artifacts.require("KittyMinting");
var KittyAuction = artifacts.require("KittyAuction");
var KittyBreeding = artifacts.require("KittyBreeding");
var KittyOwnership = artifacts.require("KittyOwnership");
var KittyBase = artifacts.require("KittyBase");
var KittyAccessControl = artifacts.require("KittyAccessControl");
var SaleClockAuction = artifacts.require("SaleClockAuction");
module.exports = function (deployer) {
deployer.deploy(KittyAccessControl).then(function () {
return deployer.deploy(KittyBase).then(function () {
return deployer.deploy(KittyOwnership).then(function () {
return deployer.deploy(KittyBreeding).then(function () {
return deployer.deploy(KittyAuction, {
gas: 400000
}).then(function () {
return deployer.deploy(KittyMinting).then(function () {
return deployer.deploy(KittyCore);
})
})
})
})
})
}); …Run Code Online (Sandbox Code Playgroud) 我想将多个部分转换成一个指令.以下是我如何设置它的想法.
<div id="content" class="mainDirective">
<div class="sub">
<ul>
<li>Everyone</li>
<li>Development (3)</li>
<li>Marketing</li>
</ul>
</div>
<div class="subButtons">
<span class="csStIcon add" data-ng-click="addTeam()"></span>
<span class="csStIcon edit" data-ng-click="editTeam()"></span>
<span class="csStIcon delete" data-ng-click="deleteTeam()"></span>
</div>
<div class="main">
<table>
<thead>
<tr><td>Name</td><td>Last name</td><td>Department</td></tr>
</thead>
<tbody>
<tr><td>Lorem</td><td>Ipsum</td><td>Development</td></tr>
<tr><td>Lorem</td><td>Ipsum</td><td>Development</td></tr>
<tr><td>Lorem</td><td>Ipsum</td><td>Development</td></tr>
</tbody>
</table>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我的指令模板:
<div>
<div class="left">
<div data-ng-multi-transclude="sub"></div>
<div class="bottomOptions">
<span class="csStIcon collapse"></span>
<div data-ng-multi-transclude="subButtons"></div>
</div>
</div>
<div class="right">
<div data-ng-multi-transclude="main"></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
最后的输出:
<div>
<div class="left">
<div class="sub">
<ul>
<li>Everyone</li>
<li data-ng-click="loadDepartment()">Development (3)</li>
<li data-ng-click="loadDepartment()">Marketing</li>
</ul>
</div>
<div …Run Code Online (Sandbox Code Playgroud) 我有以下一段 html/angular
<input type="email" data-ng-model="myEmailVar" />
{{ myEmailVar }}
Run Code Online (Sandbox Code Playgroud)
现在的问题是 angular 有一个电子邮件自动验证器,除非它正确通过,否则不会设置 myEmailVar。因此,例如,如果我输入“名称”,则不会设置 myEmailVar。你可以在这里看到:http : //jsfiddle.net/bFVsW/(输入test这个词,然后输入test@test.test)
现在,我想运行我自己的验证,但也支持移动。如果我使用 type="email" 某些移动浏览器会切换键盘布局以使输入地址更容易(例如 @ 符号)。所以我无法将其切换为 type="text"。我想做的是覆盖角度电子邮件验证器,或者完全关闭它,因为我将处理我自己的验证。那可能吗?
我不确定这是不是一个错误,但这是我想要完成的.我只关心谷歌浏览器,因为这是出于调试目的.我想使用html5输入类型日期并让它更新模型.问题是,如果我从弹出角度选择一个日期角度不更新它.如果我改为使用箭头来运行日期,则更新它.还有其他方法可以让ngModel更新吗?
<div ng-app>
<input type="date" data-ng-model="date" style="width:200px;" />
<br>
{{ date }}
</div>
Run Code Online (Sandbox Code Playgroud)
这是一个小提琴:http://jsfiddle.net/rtCP3/55/
假设我有一个对象,它的值是这样的数组:
obj = {
'key1': [1,2],
'key2': [3,4],
'key3': [5,6],
}
Run Code Online (Sandbox Code Playgroud)
如何使用 concat 将对象的所有数组合并为一个数组。对象的键数当然是动态的,但它至少会有一个实例所需的输出是这样的:
[1,2,3,4,5,6]
Run Code Online (Sandbox Code Playgroud) 我们试图锁定使用服务的最佳方法,并提出了三种可能性.这是一个更大问题的一个小得多的例子,但我希望它得到了重点.这些示例中的服务非常简单:
.service("markerService", function(){
var self = this;
self.showMarkers = false;
self.toggleMarkers = function(value){
self.showMarkers = angular.isDefined(value) ? !!value : !self.showMarkers;
};
})
Run Code Online (Sandbox Code Playgroud)
编译后的dom也非常简单:
<div ng-controller="ParentCtrl" class="ng-scope">
<div class="assetsDirective">
<div>
<div class="assetDirective">Hidden Name: 1</div>
<div class="assetDirective">Hidden Name: 2</div>
</div>
</div>
<div class="toolBarDirective">
<div>
<button>Toggle Markers</button>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我们提出的选择是:
第一个将服务器注入两个兄弟控制器,其中一个调用切换功能来更新存储在该服务中的值.
第二个选项是将它注入到具有父/子关系的两个服务中.父项将值传递给一个可以更新它的子项(如ngmodel),而带有注入服务的子控制器将其值传递给使用它的子项.
第三个选项让父母将值一直传递给两个兄弟姐妹,而兄弟姐妹又将一个兄弟姐妹传递给它的孩子.
哪些符合如何实施服务的角度方法?
angularjs ×9
html ×2
angular-ui ×1
arrays ×1
ethereum ×1
javascript ×1
object ×1
solidity ×1
truffle ×1