我刚刚进入Angular并且发现$ modal对话框令人困惑。我无法使用模态的close()
方法,但我遵循文档:
$scope.ok = function () {
$modalInstance.close(["cat","dog"]);
};
在下面的代码段中,the online docs,内部 ModalInstanceCtrl
函数,$scope
是指ModalDemoCtrl
的范围还是ModalInstanceCtrl
的范围?我也对ModalInstanceControl签名中items
参数的出现感到困惑,因为items
也出现在$ modal配置的resolve
部分。
<snip>
var modalInstance = $modal.open({
templateUrl: 'myModalContent.html',
controller: ModalInstanceCtrl,
size: size,
resolve: {
items: function () {
return $scope.items;
}
}
});
var ModalInstanceCtrl = function ($scope, $modalInstance, items) {
$scope.items = items;
$scope.selected = {
item: $scope.items[0]
};
$scope.ok = function () {
$modalInstance.close($scope.selected.item);
};
$scope.cancel = function () {
$modalInstance.dismiss('cancel');
};
};
答案 0 :(得分:0)
我们可以通过隔离范围实现:将一些值从父范围传递给指令
AngularJS提供了3种类型的前缀
所有这些前缀都接收来自指令元素属性的数据。
class="directive"
name="{{name}}"
color="color"
当指令在scope属性中遇到前缀时,它将在指令的html元素上查找属性(具有相同的属性名称)
scope : {
name: "@"
}
我已关注此链接http://jsfiddle.net/shidhincr/pJLT8/10/light/