Angular JS Directive params for change view

时间:2016-04-13 09:05:04

标签: javascript angularjs

我有一个指令,我需要给她一个设置来根据这个参数改变我的观点。

<ta-card type="unlock" 
         class="parent-card" 
         owner="currentUser" 
         ng-repeat="unlockCard in unlockedCards" 
         title="{{unlockCard.title}}">
</ta-card>

这里我发送参数标题,我想在这里重复

<div class="card-footer">
  <div class="card-info left floated">
    <div class="info" ng-model="title"></div>
      <span class="sub-info" 
            ng-if="$root.response==undefined">Chargement</span>
      <span class="sub-info" translate="card.subtitle.soon_available" ng-if="$root.response!=undefined"></span>
    </div>
    <span class="flip-btn white"
          ng-if="options.flip"
          ng-click="flipCard(model.parentId != undefined)">
      <i class="chevron right icon"></i></span>
   </div>
</div>

编辑:

这是我的指示,但我不确定是否可以帮到你

 .directive('taCard', ['appAuth', 'taCardService', '$rootScope', '$timeout',
   function (appAuth, taCardService, $rootScope, $timeout) {
     return {
       restrict: 'E', // cards must be always an element, by convention
       transclude: false,
       replace: true,
       scope: {
         owner: '=?', //this is going to be an User Object
         model: '=?',
         readonly: '=?', //this makes form fields readonly,
         transcludeData: '=?',
         childLoad: '@',
         unlockType: '@'
       },
       link: function (scope, element, attrs) {
         // console.log(scope.model);
         console.log(scope);
         scope.showFront = true;
         scope.displayChildCards = false;
         scope.elementId = 'card-' + parseInt(Math.random() * 100000000000);
         element.attr('id', scope.elementId);
         scope.isEditable = false;
         scope.options = taCardService.getOptions(attrs.type);
         // console.log(scope.options);
         scope.model = angular.isDefined(scope.model) ? scope.model : {};
         if (scope.options.hasOwner) {
           taCardService.hasAccess(scope.owner)
             .then(function (access){
               if (access === true) {
                 //set if is editable
                 appAuth.currentUser()
                   .then(function (currentUser) {
                     scope.currentUser = currentUser;
                     if (scope.owner.id === scope.currentUser.id) {
                       scope.isEditable = true;
                     }
                   });

               } else {
                 // destroy the card if user doesn't have acccess
                 element.remove();
                 scope.$destroy();
               }
             });
           }

           if (taCardService.hasService(attrs.type)) {
             taCardService.onLoad(attrs.type, scope, element);
             taCardService.setEvents(attrs.type, scope);
             scope.service = taCardService.getService(attrs.type);
           }

           // get the model data
          if (taCardService.hasService(attrs.type)) {
            taCardService.getModel(attrs.type, scope)
              .then(function (data) {
                scope.model.data = data.model;
              },
              function (error) {
                console.log('impossible to get the model: status ' + error.status);
              });
            }

            if (!angular.isDefined(scope.owner) && scope.options.hasOwner) {
              // alert to the sleepy developer that must pass the owner
              console.log('hey! you forgot the owner!');
              return;
            }
          }
        }
      }
  ])

我的工厂

window.angular && (function(angular) {
    'use strict';
    angular.module('taApp')
        .factory('taUnlockCard', ['$q','$rootScope', function($q,$rootScope) {
            // JE RECUPERE LE TITRE DE LA CARTE ???
            $rootScope.title="Titre";
            return {

            };
        }]);
})(window.angular); // jshint ignore:line

0 个答案:

没有答案