Angularjs ionic,将作用域变量传递到popover作用域

Angularjs ionic,将作用域变量传递到popover作用域,angularjs,ionic,Angularjs,Ionic,我想将一个变量从视图范围($scope.sort)传递到popover范围。 在popover中设置后,变量“退出”没有问题,下面的代码位于$scope.closeSortPopover` 我认为popover作用域与它来自的控制器的作用域是相同的。 但事实似乎并非如此。 popover示波器在哪里? 如果我从popover范围正确理解,则它是控制器范围的子级。那么我怎样才能访问它 仅供参考,我的popover是一个列表,在我的主视图中为大列表提供不同的排序意见 html: 在控制器js中,您将

我想将一个变量从视图范围($scope.sort
)传递到popover范围。
在popover中设置后,变量“退出”没有问题,下面的代码位于
$scope.closeSortPopover`

我认为popover作用域与它来自的控制器的作用域是相同的。 但事实似乎并非如此。 popover示波器在哪里? 如果我从popover范围正确理解,则它是控制器范围的子级。那么我怎样才能访问它

仅供参考,我的popover是一个
列表,在我的主视图中为大列表提供不同的排序意见

html:


在控制器js中,您将控制器的作用域分配给popover的作用域。因此,控制器范围内的所有方法都可以通过popover视图访问。换句话说,controller视图和popover视图共享相同的作用域

事实上,您可能认为这违反了mvc,因为一个控制器不能拥有两个视图,但对于angular,您实际上不能拥有其他视图


要创建隔离作用域,您唯一的选择是指令

在控制器js中,您将控制器的作用域分配给popover的作用域。因此,控制器范围内的所有方法都可以通过popover视图访问。换句话说,controller视图和popover视图共享相同的作用域

事实上,您可能认为这违反了mvc,因为一个控制器不能拥有两个视图,但对于angular,您实际上不能拥有其他视图


要创建隔离作用域,您唯一的选择是指令

我发现,由于javascript的继承性,scope变量必须包含在一个对象中,才能传递给继承的作用域

因此,与此相反:

$scope.sort = ....
我在控制器中声明:

$scope.data={};
$scope.data.sort = ....
并在我的html中使用(在初始视图和popover模板中):


这里显然有文档记录:

我发现由于javascript继承,必须将scope变量包含到一个对象中,才能传递给继承的作用域

因此,与此相反:

$scope.sort = ....
我在控制器中声明:

$scope.data={};
$scope.data.sort = ....
并在我的html中使用(在初始视图和popover模板中):


这里显然记录了:

谢谢,但如果排序变量不在对象中,它就不起作用谢谢,但是如果排序变量不在对象中,它就不起作用
data.sort