Angularjs 如何使用控制器创建指令,使作用域可以工作,而不必在视图中使用$parent?
我需要包含一个控制器作为模态的属性。在我的示例中,除非我使用$parent.showmodel=false,否则showmodel不在范围内。为了其他开发人员的工作,我不能在视图中使用$parent。应用程序中也有许多地方使用了具有不同控制器的其他模态,以相同的方式使用 玉 指示Angularjs 如何使用控制器创建指令,使作用域可以工作,而不必在视图中使用$parent?,angularjs,angularjs-directive,angularjs-scope,angularjs-controller,Angularjs,Angularjs Directive,Angularjs Scope,Angularjs Controller,我需要包含一个控制器作为模态的属性。在我的示例中,除非我使用$parent.showmodel=false,否则showmodel不在范围内。为了其他开发人员的工作,我不能在视图中使用$parent。应用程序中也有许多地方使用了具有不同控制器的其他模态,以相同的方式使用 玉 指示 我建议您创建一个Singleton工厂服务 比如: $modal 注册表对话框(键) showModal(键) hideModal() 这样,只要您真的需要,$modal服务就可以注入任何控制器。事实上,其他控制器
我建议您创建一个Singleton工厂服务 比如: $modal
- 注册表对话框(键)李>
- showModal(键)李>
- hideModal()李>
var app = angular.module('myApp', ['ngModal']);
...
<body ng-app="myApp">
<button ng-modal-show="OpenFileDialog">Click to Open Dialog 1</button>
<div ng-modal="OpenFileDialog"> ... <button ng-modal-close>Close Dialog</button> </div>
var-app=angular.module('myApp',['ngModal']);
...
单击以打开对话框1
... 关闭对话框
下面是一个非常简单的例子:
.directive 'myModal', ->
restrict: 'A'
scope: {
myModal: '='
}
link: (scope, element, attrs) ->
scope.$watch 'myModal', (current, previous) ->
if scope.myModal is true
element.css(display: 'block')
else
element.css(display: 'none')
var app = angular.module('myApp', ['ngModal']);
...
<body ng-app="myApp">
<button ng-modal-show="OpenFileDialog">Click to Open Dialog 1</button>
<div ng-modal="OpenFileDialog"> ... <button ng-modal-close>Close Dialog</button> </div>