أحدث البرامج التعليمية وتطوير الشبكة
 

AngularJS تطبيق


لقد حان الوقت لإنشاء AngularJS التطبيق الحقيقي.


جعل قائمة التسوق

يتيح استخدام بعض الميزات AngularJS لتقديم قائمة التسوق، حيث يمكنك إضافة أو إزالة عناصر:

بلدي قائمة التسوق

  • {{س}} ×

{{}} errortext



شرح تطبيق

الخطوة 1. الشروع في العمل:

تبدأ بجعل تطبيق يسمى myShoppingList ، وإضافة وحدة تحكم اسمه myCtrl إليها.

وحدة تحكم يضيف مجموعة اسمه products للالحالي $scope .

في HTML، ونحن نستخدم ng-repeat التوجيه لعرض قائمة باستخدام العناصر في المصفوفة.

مثال

حتى الآن حققنا قائمة HTML استنادا إلى العناصر من صفيف:

<script>
var app = angular.module("myShoppingList", []);
app.controller("myCtrl", function($scope) {
    $scope.products = ["Milk", "Bread", "Cheese"];
});
</script>

<div ng-app="myShoppingList" ng-controller="myCtrl">
    <ul>
        <li ng-repeat="x in products">{{x}}</li>
    </ul>
</div>
انها محاولة لنفسك »

خطوة 2. البنود مضيفا:

في HTML، إضافة حقل النص، ثم ربط التطبيق مع ng-model التوجيه.

في وحدة تحكم، وجعل وظيفة اسمه addItem ، واستخدام قيمة addMe حقل الإدخال لإضافة عنصر إلى products مجموعة.

إضافة زر واحدة، واعطائها ng-click التوجيه التي ستدير addItem وظيفة عند النقر على زر.

مثال

الآن يمكننا إضافة عناصر إلى قائمة التسوق لدينا:

<script>
var app = angular.module("myShoppingList", []);
app.controller("myCtrl", function($scope) {
    $scope.products = ["Milk", "Bread", "Cheese"];
    $scope.addItem = function () {
        $scope.products.push($scope.addMe);
    }

});
</script>

<div ng-app="myShoppingList" ng-controller="myCtrl">
    <ul>
        <li ng-repeat="x in products">{{x}}</li>
    </ul>
    <input ng-model="addMe">
    <button ng-click="addItem()">Add</button>
</div>
انها محاولة لنفسك »

الخطوة 3. إزالة العناصر:

نحن نريد أيضا أن تكون قادرة على إزالة العناصر من قائمة التسوق.

في وحدة تحكم، وجعل وظيفة اسمه removeItem ، والتي تأخذ فهرس العنصر الذي تريد إزالته، كما المعلمتين

في HTML، وجعل <span> عنصر لكل بند، ومنحهم ng-click التوجيه الذي يدعو removeItem وظيفة مع الحالي $index .

مثال

الآن يمكننا إزالة العناصر من قائمة التسوق لدينا:

<script>
var app = angular.module("myShoppingList", []);
app.controller("myCtrl", function($scope) {
    $scope.products = ["Milk", "Bread", "Cheese"];
    $scope.addItem = function () {
        $scope.products.push($scope.addMe);
    }
    $scope.removeItem = function (x) {
        $scope.products.splice(x, 1);
    }

});
</script>

<div ng-app="myShoppingList" ng-controller="myCtrl">
    <ul>
        <li ng-repeat="x in products">
            {{x}}
            <span ng-click="removeItem($index)">&times;</span>
       
</li>
    </ul>
    <input ng-model="addMe">
    <button ng-click="addItem()">Add</button>
</div>
انها محاولة لنفسك »

خطوة المناولة 4. خطأ:

التطبيق يحتوي على بعض الأخطاء، مثل إذا كنت محاولة لإضافة العنصر نفسه مرتين، تعطل التطبيق. أيضا، لا ينبغي أن يسمح لإضافة عناصر فارغة.

وسوف نصلح ذلك عن طريق التحقق من قيمة قبل أن يضيف عناصر جديدة.

في HTML، وسوف نقوم بإضافة حاوية لرسائل الخطأ، وإرسال رسالة خطأ عندما يحاول شخص ما لإضافة عنصر موجود.

مثال

قائمة التسوق، مع إمكانية إرسال رسائل الخطأ:

<script>
var app = angular.module("myShoppingList", []);
app.controller("myCtrl", function($scope) {
    $scope.products = ["Milk", "Bread", "Cheese"];
    $scope.addItem = function () {
        $scope.errortext = "";
        if (!$scope.addMe) {return;}
        if ($scope.products.indexOf($scope.addMe) == -1) {
            $scope.products.push($scope.addMe);
        } else {
            $scope.errortext = "The item is already in your shopping list.";
        }
    }
    $scope.removeItem = function (x) {
        $scope.errortext = "";
        $scope.products.splice(x, 1);
    }
});
</script>

<div ng-app="myShoppingList" ng-controller="myCtrl">
    <ul>
        <li ng-repeat="x in products">
            {{x}}
            <span ng-click="removeItem($index)">&times;</span>
        </li>
    </ul>
    <input ng-model="addMe">
    <button ng-click="addItem()">Add</button>
    <p>{{errortext}}</p>
</div>
انها محاولة لنفسك »

الخطوة 5. تصميم:

يعمل التطبيق، ولكن يمكن استخدام تصميم أفضل. نحن نستخدم أنماط W3.CSS أسلوب التطبيق لدينا.

إضافة أنماط W3.CSS، وتشمل الطبقات المناسبة في جميع أنحاء التطبيق، وسوف تكون النتيجة نفس قائمة التسوق في أعلى هذه الصفحة.

مثال

أسلوب التطبيق الخاص بك باستخدام أنماط W3.CSS:

<link rel="stylesheet" href="http://www.w3ii.com/lib/w3.css">
انها محاولة لنفسك »