Wie kann ich den Namen einer benutzerdefinierten Direktive dynamisch im Klassenattribut des div-Tags übergeben?
Ich bin sehr neu in AngularJS. Ich habe eine benutzerdefinierte Direktive erstelltuser
und ich möchte es dynamisch im Klassenattribut aufrufen, indem ich eine Variable benutze. z.B.$scope.dirName = "user";
Wenn ich diese Variable im folgenden Code verwende:
<div class = {{dirName}}></div>
Das Ergebnis muss zwei Eingabefelder mit angegebenen Werten enthalten. Aber das tut es nicht. Wenn ich ersetze{{dirName}}
mituser
. Es funktioniert einwandfrei, dh zwei Eingabefelder werden mit den angegebenen Werten angezeigt. Kann jemand sagen, welchen Fehler ich mache?
Das ist index.html
<div ng-controller = "Ctrl">
<form name = "myForm">
<div class = {{dirName}}></div>
<hr>
<tt>userName : {{user}}</tt>
</form>
Das ist script.js
<pre>var app = angular.module('App',[]);
app.controller('Ctrl', function($scope){
$scope.user = {name:'adya',last:'Rajput'};
$scope.dirName = "user";
});
app.directive('user',function(){
return{
restrict:'C',
templateUrl:'template.html'
};
});</pre>
template.html enthält:
UserName : <input type='text' name='userName' ng-model='user.name' required>
LastName : <input type='text' name='lastName' ng-model='user.last'>