加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在AngularJS中使用.controller方法时,无法访问$location

发布时间:2020-12-17 07:49:51 所属栏目:安全 来源:网络整理
导读:我在表单上使用ng-submit将数据推送到Firebase,一切都按预期方式运行.我想做的是同时改变观点.在提交按钮本身,我已经点击设置以使用$location执行一个功能.如果我将changeView函数放在.controller方法中,我不能使用$location(具体来说,它说 – “错误:’und
我在表单上使用ng-submit将数据推送到Firebase,一切都按预期方式运行.我想做的是同时改变观点.在提交按钮本身,我已经点击设置以使用$location执行一个功能.如果我将changeView函数放在.controller方法中,我不能使用$location(具体来说,它说 – “错误:’undefined’不是一个对象(评估’$location.path’)).任何帮助都将是超级复数.
// This doesn't work and throws the error
myApp.controller('CtrlName',['$scope','angularFireCollection',function($scope,angularFireCollection,$location) {

         $scope.changeView = function(view) {
             $location.path(view);
         }

    }
]);



// This works as expected,but I'm name spacing my functions globally and I will have to change how I'm accessing my Firebase,which isn't really desired.   
function CtrlName($scope,$location) {

    $scope.changeView = function(view) {
        $location.path(view);
    }

}

这是我的模板:

<form role="form" ng-submit="tactics.add(tactic)">
    <div class="form-group">
        <label>Select Method</label>
            <select class="form-control" ng-model="tactic.type">
                <option>Email</option>
                <option>Display</option>
            <option>SMS</option>
            <option>Print</option>
        </select>
    </div>
    <button type="submit" class="btn btn-success" ng-click="changeView('/my-tactics')">Save</button>
</form>
您没有将$location对象注入到控制器中.它列在您的功能参数中,但您忘记在该功能之前将其添加到列表中.
myApp.controller('CtrlName','$location',$location) {
        ...
    }]);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读