如何访问angularjs中另一个控制器作用域的下拉列表

时间:2016-11-22 09:19:50

标签: angularjs

我有一个控制器名称是ParentController,它有一个名为ddlState的下拉列表。如何在Angular JS中名为CityController的另一个控制器中访问此下拉列表

2 个答案:

答案 0 :(得分:0)

使用工厂。

以下是简单数据交换的示例

app.factory('dataExchange', function() {
    var ret = {
        getData: getData,
        setData: setData
    };

    var data = {}; 

    return ret;

    function getData() {
        return data;
    }

    function setData(x) {
        data = x;
    }
});

只需将您的对象提供给父级控制器中的setData,然后使用getData

将其转回给您的孩子

答案 1 :(得分:0)

你有不同的方法来处理这个问题, 1.通过指令获得下拉总是更好。然后,您可以使用$ on函数在多个控制器中使用相同的指令进行多次下拉。 2.如果你想在所有的html和控制器中编写和重复下拉代码,你可以使用本地存储系统,所以一旦调用API结果并存储在本地存储(浏览器级别),其他控制器也没有调用API,您可以将数据附加到本地存储中。

其他方法是在$ rootScope变量中保留下拉值,您可以在任何需要的位置使用。 (但不推荐这种方式)