如何在指令之外传递“范围”参数? 我需要在其他组件中使用它..
我的代码:
(function () {
angular.module('dmv.shared.components').
directive('doImportPackage', ['Package', function (Package) {
return {
restrict: 'A',
scope: {
onStart: '<',
onFinish: '<',
onError: '<'},
link: function (scope, element, attributes) {
}
tnx!!
最佳答案
您可以通过 Controller 来执行此操作。由于 AngularJS 按照 2 路数据绑定(bind)原则工作,因此您分配的这些变量将已经从您引用的位置进行更新,并且您也可以将它们与其他指令一起使用。例如,我假设您按如下方式使用指令:
<do-import-package
on-start="myCtrl.onStart"
on-finish="myCtrl.onFinish"
on-error="myCtrl.onError">
</do-import-package>
myCtrl Controller 中有以下相应的变量:
this.onStart = some value;
this.onFinish = some value;
this.onErrod = some value;
正常情况下,您可以将其他指令的属性绑定(bind)到这些值,它们将以 2-way 的方式更新。例如,如果您使用以下指令,则两个指令都应使用相同的值进行更新。
<other-directive
on-start="myCtrl.onStart"
on-finish="myCtrl.onFinish"
on-error="myCtrl.onError">
</other-directive>
关于javascript - 如何在指令之外传递 'scope' 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40990131/