Javascript 更改位置路径时相同控制器的$scope
我有两个页面index.html/view和index.html/update view和update也是html文件 它们的布局基本相同,只是视图仅用于查看,更新用于编辑,它们使用相同的指令,使用search-div.html作为模板的search div和使用result-div.html的result div 和一个公共控制器PageCtrl search-div.htmlJavascript 更改位置路径时相同控制器的$scope,javascript,angularjs,Javascript,Angularjs,我有两个页面index.html/view和index.html/update view和update也是html文件 它们的布局基本相同,只是视图仅用于查看,更新用于编辑,它们使用相同的指令,使用search-div.html作为模板的search div和使用result-div.html的result div 和一个公共控制器PageCtrl search-div.html <div> <form> <input ng-model="p
<div>
<form>
<input ng-model="page.id">
<input ng-model="page.type">
<button ng-click="page.cancel()">Cancel</button>
<button ng-click="page.submit()">Submit</button>
</form>
</div>
update.html
<div ng-controller="PageCtrl as page">
<search-div></search-div>
<result-div></result-div>
<button ng-click="page.save()">Save</button>
</div>
重新定向到另一个页面没有问题,但是,id和类型不会反映在更新的search-div中。$scope from view to update指令会发生什么变化?如何正确地将view$scope的值传递给update$scope?我还想知道如何在更新页面中显示结果div,与查看页面中的结果相同。在修改函数中,您接受id和类型,但使用deviceId和deviceType。我认为您打算使用这些参数。对不起,这只是复制和粘贴时的一个打字错误。我纠正了它。同样的问题。尝试设置id和类型,然后重定向。@KarlenKishmiryan Nope,不起作用。仍在重定向,输入字段为空。您需要创建一个[service][1]来跨视图传递数据。在视图之间移动时,您将处理上一个控制器。[1]:
<div ng-controller="PageCtrl as page">
<search-div></search-div>
<result-div></result-div>
<button ng-click="page.modify('update', page.id, page.type)">Modify</button>
</div>
<div ng-controller="PageCtrl as page">
<search-div></search-div>
<result-div></result-div>
<button ng-click="page.save()">Save</button>
</div>
$scope.modify = function(path, id, type) {
$location.path(path);
$scope.id = id;
$scope.type = type;
};