Angularjs 单击时将id值传递给ionic modal
我使用单击事件打开一个模式窗口,如下所示 但是在这个点击事件中,我需要传递一个id值,这样我就可以显示关于该id值的详细信息。这是控制器部分Angularjs 单击时将id值传递给ionic modal,angularjs,ionic,Angularjs,Ionic,我使用单击事件打开一个模式窗口,如下所示 但是在这个点击事件中,我需要传递一个id值,这样我就可以显示关于该id值的详细信息。这是控制器部分 $ionicModal.fromTemplateUrl('modal.html', function($ionicModal) { $scope.modal = $ionicModal; }, { // Use our scope for the
$ionicModal.fromTemplateUrl('modal.html', function($ionicModal) {
$scope.modal = $ionicModal;
}, {
// Use our scope for the scope of the modal to keep it simple
scope: $scope,
// The animation we want to use for the modal entrance
animation: 'slide-in-up'
});
有没有办法做到这一点
谢谢。您将当前范围分配给您的模态,因此您只需将变量分配给
$scope
对象:
$ionicModal.fromTemplateUrl('modal.html', function($ionicModal) {
$scope.modal = $ionicModal;
}, {
// Use our scope for the scope of the modal to keep it simple
scope: $scope,
// The animation we want to use for the modal entrance
animation: 'slide-in-up'
});
$scope.openModal = function(id) {
$scope.selectedId = id;
$scope.modal.show();
}
在你看来:
<ul>
<li ng-repeat="item in items"
ng-click="openModal(item.id)">
{{ item.name }}
</li>
</ul>
-
{{item.name}
然后,您可以访问模式中的id:
<div class="modal">
<h1>{{ selectedId }}</h1>
</div>
{{selectedId}
如果需要从范围在模型中显示HTML内容。您需要使用
$scope.openModal = function(item) {
$scope.modal=$ionicModal.fromTemplate('<ion-modal-view><b>'+item.id+'</b>
</ion-modal-view>',
{ animation: 'slide-in-up'});
$scope.modal.open();
}
$scope.openModal=函数(项){
$scope.modal=$ionicModal.fromTemplate(“”+item.id+)
',
{动画:“向上滑动”});
$scope.modal.open();
}
您正在传递当前作用域,因此您可以将id变量放在$scope
对象上。我将从ng repeat获取id值,那么我如何将其传递给控制器您可能需要单击一个按钮,这样您就可以执行ng repeat=“items in items”ng click=“OpenModel(item.id)”
我将如何在控制器中获得值…??对不起,我是新来的ionic…。虽然这样做有效,但我必须说,我很失望,如果不将值附加到范围,就无法将值解析到模式。感觉脏。@Franci您总是可以创建一个新的作用域:var scope=$scope.$new(true)代码>,它创建了一个新的独立作用域,这是正确的,它确实解决了我的问题,但它仍然是不必要的,因为您确实应该能够传递对模态的引用,而不必依赖$scope。如果它是按照bootstrapmodel的工作方式建模的话,那就更好了,因为您可以解析函数并返回model所需的异步数据的承诺。