Front-end - pembelajaran sudut: arahan tersuai pertama saya
仅有的幸福
仅有的幸福 2017-05-15 16:57:13
0
1
608

Dalam dua hari lalu, saya telah membaca dokumen rasmi dan tutorial yang ditemui dalam talian untuk mempelajari arahan tersuai dalam sudut.

Fungsi yang ingin dicapai oleh arahan di bawah adalah sangat mudah Klik - untuk menukar kuantiti produk

Terdapat beberapa masalah dengan fungsi butang menambah dan mengurangkan bilangan produk, dan ia perlu diperbaiki
PS: Selain mempraktikkan penggunaan atribut arahan semasa menulis arahan ini, saya juga ingin tahu cara menggunakan '=' '@' '&' dalam skop
Saya membaca penjelasan dalam dokumen rasmi hari ini, tetapi saya masih tidak memahaminya, jadi saya memutuskan untuk menulis contoh untuk melihat

Ditulis dalam troli beli-belah, klik - Tidak boleh menukar kuantiti?

Alu-alukan semua orang untuk mengkritik, membetulkan dan mengadu! ! !

Berikut ialah kod index.html

<!DOCTYPE html>
<html ng-app="myApp">
  <head >
    <meta charset="utf-8">
    <title>angular directive tab选项卡</title>
    <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css" type="text/css">
  </head>
  <body>
    <shop-cart></shop-cart>
    <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script src="http://cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
    <script type="text/javascript">
      angular.module('myApp',[])
      .controller('myCtrl',['$scope',function($scope){
       $scope.datas = [
         {name:'花生',price:14,number:1,addBtn:'+',reduceBtn:'-'},
         {name:'牛奶',price:25,number:1,addBtn:'+',reduceBtn:'-'},
         {name:'蛋糕',price:25,number:1,addBtn:'+',reduceBtn:'-'}
       ];
       }])
      .directive('shopCart',function() {
        return {
          restrict:'EA',
          scope:{
            onAdd:'&',
            onReduce:'&'
          },
          templateUrl:'shop-cart.html',
          controller: 'myCtrl',
          link: function(scope,element,attr) {
            scope.onAdd = function(num,index){
              num =scope.datas[index].number  + 1
              scope.datas[index].number = num;

            };
            scope.onReduce = function(num,index){
              if(num > 0) {
                num =scope.datas[index].number - 1
                scope.datas[index].number = num;
              }
            };
             console.log(scope);
          }
        }
      });
    </script>
  </body>
</html>

Berikut ialah html yang memperkenalkan templat

<table class="table table-striped" ng-controller="myCtrl">
  <thead>
    <tr>
      <th>商品名称</th>
      <th>单价</th>
      <th>商品数量</th>
      <th>增加商品数量</th>
      <th>减少商品数量  </th>
    </tr>
  </thead>
  <tbody>
    <tr ng-repeat="data in datas">
      <td>{{data.name}}</td>
      <td>{{data.price}}</td>
      <td ng-model="data.number">{{data.number}}</td>
      <td><a ng-click="onAdd(data.number,$index)">{{data.addBtn}}</a></td>
      <td><a ng-click="onReduce(data.number,$index)">{{data.reduceBtn}}</a></td></td>
    </tr>
  </tbody>
</table>
仅有的幸福
仅有的幸福

membalas semua(1)
刘奇

a=b bermaksud nilai a mengambil nilai pembolehubah b;
a@b bermaksud nilai a ialah rentetan 'b'
a&b bermaksud a merujuk kepada b, secara amnya digunakan untuk meletakkan fungsi

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan