小编Kay*_*ave的帖子

AngularJs ng-if不适用于嵌套的ng-if

在下面的代码中,单击第一个复选框时,第二个复选框不起作用.

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

7
推荐指数
2
解决办法
2万
查看次数

根据ng-click索引AngularJS更改图像src

我有这个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单击之间的所有元素).

怎么能实现这一目标?
.. 谢谢

angularjs angularjs-directive

6
推荐指数
1
解决办法
2万
查看次数

如何在javascript中填充Angularjs $ scope变量?

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数据.

javascript angularjs

5
推荐指数
2
解决办法
1万
查看次数

孤立的范围陷阱与ng模型依赖

那么,由于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上更改了它它像我预期的那样工作).

javascript angularjs

4
推荐指数
1
解决办法
3581
查看次数

在angular指令内调用函数并在参数中注入事件

我需要你的帮助.

我有一个带有函数参数的指令(范围:{myParam:'@'}).我在HTML中传递参数,比如my-param ="myFunc(param1,param2)"

这非常有效.但是,我需要将事件对象注入参数.有人知道我该怎么办?

我尝试了$ provider.annotate和$ provider.instantiate,但它们没有用,因为它在指令中使用了引用函数.(在我的情况下为$ a),因此它无法获取函数参数.

任何的想法?

function angularjs angularjs-directive

2
推荐指数
1
解决办法
2551
查看次数

当角度范围函数只运行一次时执行两次?

在这里演示

快速提问:在下面的代码中我只调用isSpecificPage()一次函数,为什么它控制台.log两次?

<div ng-hide="isSpecificPage()">
  <p>Hello!</p>
</div>
Run Code Online (Sandbox Code Playgroud)

angularjs

1
推荐指数
1
解决办法
1504
查看次数