【问题标题】:$scope unidefined in modal angular js$scope在模态angularjs中未定义
【发布时间】:2013-11-16 21:08:56
【问题描述】:

我在 Angular 中使用模态,但是当模态打开时,这里的值不与模型绑定

modal.html

<script type="text/ng-template" id="categoryModal.html">

    <form class="form-horizontal" name="category_form" novalidate>
        <div class="modal-header">
            <a class="close" ng-click='cancel()'><i class="icon-remove-circle icon-bold"></i> </a>
            <h3>Category</h3>
        </div>

        <div class="modal-body">

            <div class="form-group">
                <label for="category_Name" class="col-lg-3 form-label">Category Name:</label>
                <div class="col-lg-8">
                    <input class="form-control" id="category_Name" ng-model="category.name" name="category_Name" placeholder="Category Name" required/>
                    <div class="error" ng-show="category_form.category_Name.$dirty && category_form.category_Name.$invalid">
                        <small class="error errorFields" ng-show="category_form.category_Name.$error.required">
                            Category Name is required.
                        </small>

                    </div>
                </div>
            </div>

        </div>

        <div class="modal-footer">
            <button  ng-click='saveCategory()' class="btn btn-primary" ng-disabled="category_form.$invalid">
                <i class="icon-ok-sign icon-white"></i> Add
            </button>

            <button ng-click='cancel()' class="btn btn-warning">
                <i class="icon-remove-circle icon-white"></i> Cancel
            </button>
        </div>

    </form>
</script>

modalController.js

app.controller('brandModalCtrl', function ($rootScope, $scope, $modalInstance) {

    // Save Brand

    $scope.saveCategory = function () {
       console.log($scope.category) // undefined
    };

    $scope.cancel = function () {
        $modalInstance.dismiss('cancel');
    };

});

【问题讨论】:

  • $scope.brand 定义在哪里?
  • 你在哪里打电话给categoryModal.html,你如何定义$modalInstance?谢谢
  • 抱歉修改但同样的问题
  • 好的,我正在给出我定义的代码。
  • $scope.category 在哪里定义?您需要将值设置为$scope.category

标签: javascript angularjs angular-ui-bootstrap


【解决方案1】:

我会尝试将相同的 $scope 添加到 modalOptions 并让 modal 共享控制器的 $scope 变量。将两者都放在 $rootScope 上太激烈了。理想情况下,您的模态应该有一个隔离范围,但听起来您需要一些重叠。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-28
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    • 2016-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多