switch directivas angularjs angularjs-directive

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é? :)