我正在使用controller as
语法,并且不确定如何访问子指令的范围。我可以这样做,但必须有一个更好的方法,不是吗?
angular.module('saProducts').directive 'saProductNew', ->
restrict: 'A'
templateUrl: 'app/products/templates/new.html'
controllerAs: 'product'
controller: ($scope, Product) ->
@save = ->
Product.save(product: @current).$promise.then (product) ->
$scope.$$childHead.images.owner = product # Isn't there a way to access it without going through the $$childHead object?
答案 0 :(得分:0)
您还可以考虑其他三种解决方案:
使用服务在父范围和子范围之间共享数据。
使用emit / broadcast广播从子节点到父节点的更改。
在父作用域中创建子属性。因此,例如,在父指令中,$ scope.p = {c:“change from”},然后您可以在子范围中访问它,$ scope.pc =“更改为”,现在如果您在父级中访问它,由于原型继承,它将显示为“已更改为”。
我个人会使用第一个选项,如果它是一个复杂的应用程序,其次是nr 3用于简单的东西,最后是选项nr 2.