小编nes*_*-EE的帖子

Angular ng-click,调用控制器功能不起作用

我需要将一个变量传递给另一个控制器.我有以下与ListCtrl相关的代码:

<a href="#items" data-router="article" ng-click="changeListName('metro')">
Run Code Online (Sandbox Code Playgroud)

该链接将转到另一个控制器ItemCtrl.

我想将一个变量传递给ItemCtrl.我想过使用一个名为SharedProperties的服务:

service('sharedProperties', function () {
    var list_name = '';

    return {
        getListName: function() {
            return list_name;
        },
        setListName: function(name) {
            list_name = name;
        }
    };
});
Run Code Online (Sandbox Code Playgroud)

单击链接时,我调用角度单击事件来触发以下功能:

$scope.changeListName = function(name) {
    sharedProperties.setListName(name);
};
Run Code Online (Sandbox Code Playgroud)

但是,ng-click似乎不会更改我的共享属性的值...

UPDATE

我在由ng-click触发的函数内部发出一个警报,并触发警报,因为它应该是.

但是,当我写这样的函数时:

$scope.changeListName = function(name) {
    sharedProperties.setListName(name);
};
Run Code Online (Sandbox Code Playgroud)

它不起作用......它看起来像'sharedProperties.setListName(name);' 没有执行......

如果我把它放在具有虚拟名称的函数之外(例如,地铁),它可以工作..

更新3

我尝试了很多东西,我很有信心问题是这个功能:

$scope.changeListName = function(list_name) {
    sharedProperties.setListName(list_name);
};
Run Code Online (Sandbox Code Playgroud)

你知道为什么会这样吗?

angularjs

75
推荐指数
2
解决办法
44万
查看次数

标签 统计

angularjs ×1