我已经创建了一个带有隔离范围的指令,我希望该范围内的所有项在获得注入时获得服务的特定实现。我认为有几种方法可以完成等效,但想知道是否有更好的方法:
让项目通过$ scope到服务的方法,这会根据$ scope
中的内容改变他们的行为我倾向于第一种选择。但似乎angular有能力根据$ scope注入不同的项目,因为它在注入$ scope本身时会这样做,而且我想知道我是否可以某种方式使用该机制。
答案 0 :(得分:0)
根据您的要求,您必须使用$ controller服务动态创建控制器,并在作为第二个参数传递的对象中注入所需的服务。
$ controller('ControllerName',{})
您需要将新创建的控制器的实例附加到指令的范围,并将其与模板上的ng-controller指令一起使用。