angularjs - directivas - ng-class
pasar el objeto a la directiva angularjs desde el controlador (1)
Pls ver abajo copia de trabajo
<!doctype html>
<html ng-app="plunker" >
<head>
<meta charset="utf-8">
<title>AngularJS Plunker</title>
<link rel="stylesheet" href="style.css">
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
<span>{{mandat.rum}}</span>
<span>{{mandat.person.firstname}}</span>
<input type="text" ng-model="mandat.person.firstname" />
<my-directive mandateperson="mandat.person" >
</my-directive>
<script type="text/javascript">
var app = angular.module(''plunker'', []);
app.controller(''MainCtrl'', function ($scope) {
$scope.mandat = { name: "John", surname: "Doe", person: { id: 1408, firstname: "sam" } };
});
app.directive(''myDirective'', function () {
return {
restrict: ''E'',
template: "<div><span>{{mandateperson.id}}<span><input type=''text'' ng-model=''mandateperson.firstname'' /></div>",
replace: true,
scope: { mandateperson: ''='' }
}
}
)
</script>
</body>
</html>
Estoy tratando de entender las directivas de AngularJS. Necesito pasar un objeto completo de mi controlador principal a la directiva. Vea el código a continuación y jsfiddle: http://jsfiddle.net/graphicsxp/Z5MBf/4/
<body ng-app="myApp">
<div ng-controller="MandatCtrl">
<div person myPerson="mandat.person"></div>
<span>{{mandat.rum}}</span>
<span>{{mandat.person.firstname}}</span>
</div>
y el guion:
var myApp = angular.module("myApp", []);
myApp.controller("MandatCtrl", function ($scope) {
$scope.mandat = { rum: "15000", person: { id: 1408, firstname: "sam" } };
});
myApp.directive("person", function () {
return {
scope: {
myPerson: "="
},
template: ''test: <div ng-model="myPerson"><input type="text" ng-model="firstname" /></div>''
}
});
Ok, el enlace está funcionando bien para mandat.rum y mandat.person.firstname.
Sin embargo, estoy tratando de pasar mandat.person a la directiva, y no funciona. Sé que debo estar haciendo algo mal, la pregunta es ¿qué? :)