更改位置路径时$ Scope的相同控制器

时间:2014-10-20 14:15:52

标签: javascript angularjs

我有两页index.html#/ view和index.html#/ update(查看和更新​​也是html文件)

它们的布局基本相同(除了view仅供查看而update用于编辑),它们使用相同的指令,search-div以search-div.html作为模板和result-div与result-div.html 和一个公共控制器PageCtrl

搜索div.html

<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>

结果-div.html

<div>
    <table>
        <thead>...</thead>
        <tbody>
            <tr><td>{{page.retrievedData.id}}</td></tr>
            <tr><td>{{page.retrievedData.type}}</td></tr>
            // some other retrieved data as rows
            // some rows are, for view <td>, for update <input>
    <table>
</div>

result-div是由某些$http.get获得的。

view.html

<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>

update.html

<div ng-controller="PageCtrl as page">
    <search-div></search-div>
    <result-div></result-div>
    <button ng-click="page.save()">Save</button>
</div>

当我点击modify按钮时,id页面的type中的search-divview仍应显示在update页面上,所以我做了:

(在PageCtrl内)

$scope.modify = function(path, id, type) {
    $location.path(path);
    $scope.id = id;
    $scope.type = type;
};

重定向到另一个页面没有问题,但idtype并未反映在update的{​​{1}}中。从search-div$scope指令view会发生什么变化?如何正确地将update view的值传递给$scope update?我还想知道如何在$scope页面中显示result-divupdate页面中的相同结果。

0 个答案:

没有答案