将构造函数的$ scope值传递给指令

时间:2015-10-21 07:44:09

标签: angularjs angularjs-directive angularjs-scope

  

在这里,我想将 app.js 的 $ scope.myData 传递给指令 mcsaForm ,并使用中的对象属性myTemplate.html 即可。除了我上面提到的方法之外,我的代码工作正常。

     

app.js

myApp.controller("myCont", function($scope){
   .
    some code
   .
   .
   $scope.getTypeOfEvent = function(typeOfEvent, idOfEvent)
   {
       if(typeOfEvent == "MCQ")
       {

         if(idOfEvent)
         {
            var indexOfEvent =$scope.namesTwo.Events.indexOf("idOfEvent")+1;
            var valueAtIndex = $scope.namesTwo.Events[indexOfEvent].id;
            $scope.myData = $scope.namesTwo[valueAtIndex];
            console.log($scope.myData); // output: Object {eventId: "001", TimeOfEvent: "2", EventType: "MCQ"}
         }
         //fetchJsonDir.gettingContData;
         $scope.mCSSQ(typeOfEvent,idOfEvent);
       }
   }
});
  

myDirective.js

videoCourseApp.directive("mcsaForm",['fetchJsonDir', function(fetchJsonDir){
return{
    restrict: "C",
    templateUrl: "assets/template_blocks/Preview_forms/myTemplate.html",
    scope: {
        myData: "="
    },
    compile: function(scope, element, attrs)
    {   
        $("#mcss_option_list").append("Hello");
    },
    controller: function($scope){     
        $scope.onSubmitHidePanel = function()
        {
            $(".mcsa_form").fadeOut("slow", function(){ 
                    $(this).remove();
            });-
        }
    }
}
}]);
  

myTemplate.html

<div id=mcss_option_list>

</div>
<div>
     001, 2, MCQ//print myData.eventId, myData.TimeOfEvent or whatever..
</div>

1 个答案:

答案 0 :(得分:0)

使用您的指令,如

[...,
function (req, res, next) { connect.static('.tmp'); },
function (req, res, next) { connect.use('/bower_components', connect.static('./bower_components')); },
...]

您将获得指令<div class="mcsa-form" my-data="myData"></div>

中的值
myTemplate.html