这有可能吗?
app.directive('myDirective',function(){
return {
restrict: 'A',
scope: {
myName:'=myName'
}
}
}
。 。
<div my-directive my-name="name" ng-class="myName"></div>
还是我需要编写自己的指令?
答案 0 :(得分:0)
这有可能吗?
是的,有可能(例如,使用$parent
引用外部作用域),但这样做是没有意义的。您不希望指令混淆其沙箱之外的东西(隔离范围)。毕竟,这是首先确定孤立范围的重点。
在您的情况下,您只需要将ngClass
与原始name
一起使用,该<div my-directive my-name="name" ng-class="name"></div>
已在范围(外部)中提供:
OrderSummary
答案 1 :(得分:0)
HTML:
<div ng-controller="MyCtrl">
<my-directive my-name="name" />
</div>
JS:
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.name = 'World';
}
myApp.directive('myDirective',function(){
return {
restrict: 'E',
scope: {
myName:'=myName'
},
replace: false,
template: 'Hello, {{myName}}!',
controller: function(){}
}
});
小提琴:http://jsfiddle.net/HB7LU/20538/
使用HTML代码更改模板。
答案 2 :(得分:0)
如果您想操纵控制器中的类,请使用:
HTML
<div ng-class="{{myName}}" >
JS
$scope.myName = 'value';