通过孤立的范围与角指令共享范围的函数参数



我有3个具有分离范围和共享范围的指令,我希望通过最外面的最内向指令传递功能。外部和中间具有孤立示波器,中间具有内在范围。有什么建议吗?

通过我的控制器的功能,如下所示。

< ofter on-edit =" helloworld" ng-model =" model" ng-repeat =" intems.objects"></oute>

在我的控制器中:

    $ scope.helloworld = function(){            警报(" Hello World");     }

我的指示:

   Angular.Module('MyApp')      。        返回 {          限制:'e',          替换:是的,          范围: {            项目:" = ngmodel",            Onedit:'&'          },,          模板:'<div>< midd          控制器:功能($ scope){            $ scope.edit = function(){              $ scope.onedit()();            }          }        };      }))      。        返回 {          限制:'e',          替换:是的,          范围: {            项目:'= ngmodel',            Onedit:'&'          },,          templateurl:'<div>< inner-on-edit ='oneDit'></innit></div>'/div>'/div>'/div>'        };      }))      。        返回 {          限制:'e',          模板:'<div>< a ng-click ='edit()'> edit</a></div>'        };      }))

这不起作用,有什么想法吗?

谢谢

这看起来是一个不好的设计,但是在中间指令的模板中,您正在使用内部指令如下:

<div><inner on-edit='onEdit'></inner></div>

如果您看着它,内部指令没有范围,因此编辑的属性在那里没有意义。

如果要使用中间指令中存在的任何方法,则可以直接在内部指令中使用,因为共享范围。将内部指令视为在其他HTML文件中编写的HTML的一部分,该文件将在运行时替换。因此,您传递给中间指令的任何东西都隐含地传递给内部。

最新更新