在下面的代码中,单击第一个复选框时,第二个复选框不起作用.
http://plnkr.co/edit/JF0IftvWx7Ew3N43Csji?p=preview
HTML:
<html ng-app="App">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular-animate.min.js"></script>
<link rel="stylesheet" type="text/css" href="animations.css" />
<script type="text/javascript" src="script.js"></script>
</head>
<body>
Click me: <input type="checkbox" ng-model="checked" ng-init="checked=true" /><br/>
Show when checked:
<span ng-if="checked==true" class="animate-if">
<input type="checkbox" ng-model="checked1" ng-init="checked1=true" />
</span>
<br>
<span ng-if="checked1==true" class="animate-if">
test <input type="checkbox" ng-model="checked2" ng-init="checked2=true" />
</span>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我有这个angularJS代码,指令模板定义:
<li ng-repeat="i in getNum(myNum)" ng-click="toggle($index)" id=$index>
<img src="img/{{ImgTest}}">
</li>
Run Code Online (Sandbox Code Playgroud)
另外,我的指令代码有:
link: function (scope, elem, attrs) {
scope.ImgTest= "Img_1";
Run Code Online (Sandbox Code Playgroud)
在ng-click上,我希望<li>在从Img_1到Img_2之间单击之前更改所有元素上的图像.(因此,更改<li>索引在0和$index单击之间的所有元素).
怎么能实现这一目标?
.. 谢谢
mapApp.controller("myController", function ($scope,$http) {
$scope.namePlaceHolder= "Name";
$scope.name = "";
};
Run Code Online (Sandbox Code Playgroud)
我将范围变量绑定到html输入,如下所示.
<input id="foo" type="text" placeholder="{{namePlaceHolder}}" ng-model="name" value="{{name}}"/>
Run Code Online (Sandbox Code Playgroud)
如果用户在文本框中键入内容,则$ scope.name属性会更改.但是当我使用javascript更改它时,$ scope.name数据不会更改.
on(document.getElementById("button"), "click", function (e) {
document.getElementById("foo").value = "ascd...";
})
Run Code Online (Sandbox Code Playgroud)
此代码不会填充$ scope.name数据.
那么,由于AngularJS文档站点上的"改进此文档"按钮不起作用,现在讨论已经关闭,我想问一个关于ngModelController的 "孤立范围陷阱"段落的问题.
<div ng-app="badIsolatedDirective">
<input ng-model="someModel"/>
<div isolate ng-model="someModel"></div>
<div isolate ng-model="$parent.someModel"></div>
</div>
angular.module('badIsolatedDirective', [])
.directive('isolate', function() {
return {
require: 'ngModel',
scope: { },
template: '<input ng-model="innerModel">',
link: function(scope, element, attrs, ngModel) {
scope.$watch('innerModel', function(value) {
console.log(value);
ngModel.$setViewValue(value);
});
}
};
});
Run Code Online (Sandbox Code Playgroud)
我希望看到第三个输入影响第一个输入(因为我们只是隔离了第二个输入的范围并且没有引用'someModel'范围值),这个例子的btw行为只是惊人:第二个输入影响第一个,第三个输入影响第一个.所以问题是:我是丢失这个概念还是只是不理解它,或者在示例代码中有错误(可能不是错误,但只是没有与主题相关联)(好吧,我在Plunkr上更改了它它像我预期的那样工作).
我需要你的帮助.
我有一个带有函数参数的指令(范围:{myParam:'@'}).我在HTML中传递参数,比如my-param ="myFunc(param1,param2)"
这非常有效.但是,我需要将事件对象注入参数.有人知道我该怎么办?
我尝试了$ provider.annotate和$ provider.instantiate,但它们没有用,因为它在指令中使用了引用函数.(在我的情况下为$ a),因此它无法获取函数参数.
任何的想法?
快速提问:在下面的代码中我只调用isSpecificPage()一次函数,为什么它控制台.log两次?
<div ng-hide="isSpecificPage()">
<p>Hello!</p>
</div>
Run Code Online (Sandbox Code Playgroud)