在服务和指令之间传递数据

Passing data between service and directive

本文关键字:数据 之间 指令 服务      更新时间:2023-09-26

用例很简单,有movie.json,它包含电影对象。接下来,我想使用嵌套的movies->movie指令来显示这些对象。我认为最好的中介和数据交换是作为服务。

目前的问题是数据异步加载,但指令没有接收到数据模型。

代码可以在这里看到http://plnkr.co/edit/MTkW1NujanzDFm7r2IHu?p=preview

使用=绑定

scope: { data: "=myMovies"},

而不是@,因为@将导致您的my-movie属性值被计算为字符串。即,使用

scope: { data: "@myMovies"},

属性data将获得值movies。使用=可以获得对象。

不需要父指令:

//require: '^movies',

movie指令中,指令获得的作用域定义了属性movie,因此您需要在模板中使用该属性:

template: 
  '<div>' +
    '<h3>{{ movie.name }}</h3>' +
    '<span>{{ movie.published }}</span>' + 
  '</div>'

plunker