在指令中在附加元素时应用不同的css模板

时间:2014-04-30 09:27:12

标签: javascript jquery angularjs angularjs-directive

我需要设计动态菜单,菜单项将从json加载。当菜单点击我想在它们上应用不同的模板。

我正在使用Directives,但我想知道如何在Controller中附加Element时使用模板。我想使用模板因为我不想要硬编码的东西,我想调用模板文件。

enter link description here

如何将属性传递给上面的小提琴?

任何其他消息,请告诉我!!

app.directive("helloWorld", function() {
 return {
    restrict: "E",
    scope: {
      name: "@name"
    },
    template: "<button ng-click='click()'>Click me</button>",
     controller: function($scope, $element){
         $scope.clicked = 0;
         $scope.click = function(){
           alert("Element clicked");
           $element.append('yes i did it');
         }
       }
};
});

1 个答案:

答案 0 :(得分:0)

您可以使用$ http下载您的模板,并在$ compile之后编译它:

app.directive("helloWorld", function($http, $compile) {
 return {
    restrict: "E",
    scope: {
      name: "@name"
    },
    link: function(scope, element, attrs) {
      $http.get("yourTemplate").then(function(template) {
          $compile(template)(scope);
          element.append(template);
      });
    }
  };
});