Angularjs 使用角度表达式插入指令

Angularjs 使用角度表达式插入指令,angularjs,Angularjs,有什么方法可以实现我在这方面的目标吗 我想使用角度表达式向元素添加一个指令 例如: <div {{hello}}></div> 为了动态创建指令,您需要将div插入控制器中,而不是html标记中。在这里,我使用服务来根据作用域变量hello动态生成指令 控制器代码: function MainCtrl($scope, $compile) { $scope.flag = "disabled"; $scope.hello = "hello"; var

有什么方法可以实现我在这方面的目标吗

我想使用角度表达式向元素添加一个指令

例如:

<div {{hello}}></div>

为了动态创建指令,您需要将div插入控制器中,而不是html标记中。在这里,我使用服务来根据作用域变量hello动态生成指令

控制器代码:

function MainCtrl($scope, $compile) {
    $scope.flag = "disabled";
    $scope.hello = "hello";
    var el = $compile("<div " + $scope.hello + "></div>")($scope);
    var element = angular.element(document.querySelector('#mainID'));
    element.append(el);
}
函数MainCtrl($scope$compile){
$scope.flag=“已禁用”;
$scope.hello=“hello”;
变量el=$compile(“”)($scope);
var元素=angular.element(document.querySelector('#mainID');
元素。追加(el);
}

我可以看到这个想法,但我不确定那是声明元素的合适位置。我会坚持使用按类型分开的属性,或者像@V31那样,根据指令创建元素,尽管他的示例似乎只是在指令编译后创建一个元素,但我认为在此之后需要重新编译指令。此外,我认为你的指令的真正力量来自于它处理这些事件和维护范围等的能力

我会坚持使用属性来声明不同的元素类型,类似这样-

此外,ng disabled已具有此属性

ng-disabled="{{flag}}"
ng-disabled="{{flag}}"