【问题标题】:how to generate list dynamically in angular.js如何在 angular.js 中动态生成列表
【发布时间】:2014-09-19 05:54:29
【问题描述】:

您能告诉我如何在 angulat.js 中动态创建列表。实际上,当用户按下添加按钮并填写字段时,我可以创建列表。 换句话说,每当您填写它生成一行的字段时,请检查此小提琴。当您单击该行时,您可以获得 Id .Fiddle http://jsfiddle.net/wc4Jm/6/ 现在我正在尝试使用引导模型来执行此操作。换句话说,首先单击按钮我会显示一个弹出屏幕,然后有“添加”按钮。单击它会生成行。但我得到“未定义”。我的我将模型 div 插入控制器内?这是 http://jsbin.com/vubojoxo/4/

为什么我会收到此错误? XMLHttpRequest 无法加载 file:///C:/Users/asd/Desktop/angular/angularproject/dialog.html。收到无效回复。因此不允许访问 Origin 'null'。

当我使用 plunker..并在我的桌面上运行时出现此错误.. 我做这个html?

<!doctype html>
<html ng-app="plunker">
<head>
    <script src="angular.js"></script>
    <script src="ui-bootstrap-tpls-0.2.0.js"></script>
    <link href="bootstrap-combined.min.css" rel="stylesheet">

    <script src="index.js"></script>

</head>
<body>

<div ng-controller="DialogDemoCtrl">
    <a class="btn" data-toggle="modal" href="" ng-click="openPopupScreen()">Add Contend</a>
</div>

</body>
</html>

.... 对话框.html

<div class="modal-header">
    <a class="close" data-dismiss="modal">×</a>
    <h1>Add Element</h1>
</div>
<div class="modal-body">
    <form >
        <label>Name:</label><input type="text" class="span3" ng-model="activeItem.name"></br>
        <label>Content Name:</label><input type="password" class="span3" ng-model="activeItem.content"></br>
        <button type="submit" class="btn btn-success" ng-click="addItem()">Add In List</button>
        <button type="reset" class="btn ">Clear</button>
    </form>
</div>
<div class="modal-footer">
    <a class="btn" data-dismiss="modal" aria-hidden="true">close</a>
</div>

js代码:

var myApp = angular.module('plunker', ['ui.bootstrap']);

myApp.controller('DialogDemoCtrl',  function($scope,$dialog) {
    $scope.items = [];
    $scope.activeItem = {
        id:'',
        name: '',
        content: ''
    };

    $scope.addItem = function () {
        $scope.activeItem.id = $scope.items.length + 1;
        $scope.items.push($scope.activeItem);
        $scope.activeItem = {}; /* reset active item*/

    };

    $scope.getId = function (item) {
        alert('ID: '+item.id);

    };
    $scope.openPopupScreen = function () {
        alert('Check Open pop up screen');
        $dialog.dialog({}).open('dialog.html');

    };

});

【问题讨论】:

    标签: javascript jquery angularjs


    【解决方案1】:

    检查这个Plunker

    在这个例子中,我使用了 angular-ui 库,它将引导程序的模态包装到角度 based on this StackOverflow Answer

    ModalDemoCtrl

      $scope.items = [];
    
      $scope.getId = function(item) {
        alert('ID: ' + item.id);
    
      };
    
      // This opens a Bootstrap modal
      $scope.open = function() {
    
        var modalInstance = $modal.open({
          template: $scope.modal_html_template,
          controller: ModalInstanceCtrl
        });
    
        modalInstance.result.then(function(newItem) {
          // On modal success
    
          newItem.id = $scope.items.length + 1;
    
          $scope.items.push(newItem);
    
        }, function() {
          // On modal cancelation
        });
      }
    

    ModalInstanceCtrl

      $scope.name = '';
      $scope.content = '';
    
      $scope.ok = function() {
    
        var response = {
          'name': $scope.name,
          'content': $scope.content
        };
    
        $modalInstance.close(response);
    
      };
    
      $scope.cancel = function() {
        $modalInstance.dismiss('cancel');
      };
    

    HTML

     <body>
    
        <div ng-controller="ModalDemoCtrl">
    
    
          <div inner-html-bind="" inner-html="modal_html_template" class="hidden">
            <div class="modal-header">
              <h3>I'm a modal!</h3>
            </div>
    
            <div class="modal-body">
    
              <div class="form-group">
                <label>Name</label>
    
                <!-- using $parent because ui-bootstrap nested 2 controllers. this is a workaround -->
                <input type="text" class="form-control" ng-model="$parent.name" placeholder="Enter Name">
              </div>
    
              <div class="form-group">
                <label>Content</label>
    
                <!-- using $parent because ui-bootstrap nested 2 controllers. this is a workaround -->
                <input type="text" class="form-control" ng-model="$parent.content" placeholder="Enter Content">
              </div>
    
            </div>
    
            <div class="modal-footer">
              <button class="btn btn-primary" ng-click="ok()">OK</button>
              <button class="btn btn-warning" ng-click="cancel()">Cancel</button>
            </div>
          </div>
    
          <div class="container">
            <h2>Modal Example <a href="https://stackoverflow.com/questions/24988561">https://stackoverflow.com/questions/24988561</a></h2>
            <button class="btn" ng-click="open()">Open Modal</button>
    
    
            <div>
    
              <ul>
                <li ng-repeat="item in items">
                  <a ng-click="getId(item)">{{ item.id }} | {{ item.name + ' ' + item.content  }}</a>
                </li>
              </ul>
    
            </div>
          </div>
    
        </div>
      </body>
    

    【讨论】:

    • 感谢您的回答..我需要相同的答案..但我有 2 个问题请检查我的更新..of Question.
    • 我的第一个问题是为什么我会收到此错误..?请参阅更新
    • 第二个问题,当我运行你的 plunker 时,它工作得很好..但是当我下载并在浏览器上运行时,它给出了错误,为什么?
    猜你喜欢
    • 1970-01-01
    • 2021-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 2012-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多