问题为$ scope属性赋值(angularjs)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了问题为$ scope属性赋值(angularjs)相关的知识,希望对你有一定的参考价值。

我有一个angularjs代码:

$scope.service = {}
$scope.editServiceModal = function (param1, param2) {
    $scope.service = { "obj1": param1, "obj2": param2 }
    $("#editModal").modal('show')
}

但是当我尝试在html上调用它作为service.param1service.param2我没有得到任何价值。我尝试打印服务对象,但我得到的是一个空的json对象。


<div class="modal fade" id="editModal" tabindex="-1" role="dialog" aria-labelledby="editModalLabel" ng-controller="HmoServiceListCtrl">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                    <h4 class="modal-title" id="myModalLabel">Edit {{service.name}} service</h4>
                </div>
                <div class="modal-body">
                    <form class="form-horizontal ng-pristine ng-valid" name="editServiceForm" id="editServiceForm">
                        <div class="row" style=" margin-left: 0px;">
                            <div class="col-md-12">
                                <div class="form-group">
                                    <label for="newName" class="col-md-3 ">Name</label>
                                    <div class="col-md-9">
                                        <input type="text" class="form-control" placeholder="Enter Service Name" ng-model="service.name" required>
                                    </div>
                                </div>
                                <div class="form-group">
                                    <label for="newPassword" class="col-md-3">Type</label>
                                    <div class="col-md-9">
                                        <ui-select ng-model="service.type_code" required theme="bootstrap">
                                            <ui-select-match placeholder="Type">
                                                <span>{{$select.selected.name}}</span>
                                            </ui-select-match>
                                            <ui-select-choices repeat="item.code as item in (types | filter: $select.search) track by item.code" required>
                                                <span>{{item.name}}</span>
                                            </ui-select-choices>
                                        </ui-select>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </form>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                    <button type="button" class="btn btn-primary" ng-click="editService()">Save changes</button>
                </div>
            </div>
        </div>
    </div>
答案

这是我的一个项目的片段:

vm.VersionClick = function () {
    var element = angular.element("#ChangeLog");
    element.modal('show');
}

“vm”在这种情况下是范围,在文件顶部我初始化vm如下:

function sidebar($route, config, routes,datacontext, $scope, $rootScope) {
    var vm = this;

然后在整个page / js文件中我可以使用“vm”。对于一切本身。

摆脱jquery的东西,你应该没事。

祝你好运!

以上是关于问题为$ scope属性赋值(angularjs)的主要内容,如果未能解决你的问题,请参考以下文章

重构与动态为angularjs栏位赋值或获取值

AngularJS中实现Model缓存

angularjs directive 属性 问题

AngularJS中Directive指令系列 - bindToController属性的使用

AngularJS 指令的 Scope (作用域)

AngularJS --- Scope