【问题标题】:Can I declare ng-repeat elements inside of javascript我可以在 javascript 中声明 ng-repeat 元素吗
【发布时间】:2015-05-29 08:41:43
【问题描述】:

是否可以在 javascript 中声明 ng-repeat 元素。 我用谷歌搜索试图找到答案,但我找不到。如果还有其他方法,请给出一些想法,我现在真的迷路了。
谢谢

HTML

<div class="" ng-app='app' ng-controller='appCtrl'>
    <div ng-repeat='el in names'>
        <div ng-click="click">{{el}}</div>
    </div>
</div>

JavaScript

var app = angular.module('app', [])
var appCtrl = function ($scope) {
    $scope.names = [{
        name: 'jane'
    }, {
        name1: 'jane1',
        name2: 'jane2'
    }, {
        name3: 'jane3'
    }];
    $scope.click = {
        // I want to declare this part 
        //
        //
        // if (el.length() == 2) {
        //     alert('true')
        // }
    }
}

app.controller('appCtrl', appCtrl())

FIDDLE

【问题讨论】:

  • 引用 el 仅在该 ng-repeat 中可用。但是为什么你的逻辑依赖于 ng-repeat? ng-repeat 是一个视图元素,你的逻辑应该独立于它。
  • 我认为你需要花时间学习 JS 基础知识,然后再继续使用 Angular。
  • @Mikalai :D 谢谢
  • 我认为他想检查 el 是否包含 2 个元素。
  • @prime 是的,绝对正确。可能我无法更好地解释

标签: javascript angularjs angularjs-directive angularjs-scope angularjs-ng-repeat


【解决方案1】:

Check this answer 我使用input 标签进行演示。

<div class="" ng-app='app' ng-controller='appCtrl'>
<div ng-repeat='el in names'>
    <input  id="{{el.id}}" ng-click="clickz(el.id)" value = "{{el}}" > {{el}}</input>
</div>
</div>

函数clickz。如果names 的数量等于 2,它会发出警报。

$scope.clickz = function(id){
    //alert(id); 
    var len = document.getElementById(id).value.split(",").length-1;

    if(len == 2 ){
        alert(true)
    }

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-20
    • 1970-01-01
    • 2016-12-29
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多