AngularJs Modal从rootScope设置默认值

时间:2014-04-04 10:52:27

标签: angularjs angularjs-scope

我有角度模态值的问题。 我有$ rootScope和按钮im打开模态包含,我不能将默认/选择值设置为

<form>
    <input type="button" class="mobileUpdate" ng-click="openMobileUpdateModal()" />

    <script type="text/ng-template" id="mobileModal.html">
         <form name="modalForm">
             <div class="modal-body">
                   <p>Country</p>
                   <select id="countryMobile" ng-model="countryMobile" class="select-styled" name="countryMobile" required>
                       <option ng-repeat="country in countries" value="{{country.id}}">{{country.name}}</option>
                   </select>
                </div>
             </div>
             <div class="modal-footer">
                 <input type="button" ng-click='confirm()' value="OK"/>
                <input type="button" ng-click='cancel()' value="Cancel"/>
             </div>
         </form>
     </script>

</form>


   $rootScope.openMobileUpdateModal = function () {

      $rootScope.countryMobile = $rootScope.country;
      var modalInstance = $modal.open({
        templateUrl: 'mobileModal.html',
        controller: ModalInstanceCtrl
      });
    };
    var ModalInstanceCtrl = function ($rootScope, $modalInstance) {
        $rootScope.confirm = function () {
         //do something
          $modalInstance.close();
        };
        $rootScope.cancel = function () {
          $modalInstance.dismiss();
        };
    };

任何人都知道如何从$ rootScope向模态发送值,并将该值设置为默认值? 感谢

3 个答案:

答案 0 :(得分:1)

首先,在选择标记代码时,您有两次双引号的语法错误。更新如下,然后尝试。并在你的ng模型中使用$root

<select id="countryMobile" ng-model="$root.countryMobile" class="select-styled" name="countryMobile" required>
      <option ng-repeat="country in countries" value="{{country.id}}">{{country.name}}</option>
</select>

答案 1 :(得分:0)

我不确定我是否理解您的问题是正确的,但请尝试不要使用rootScope或修改并避免rootScope修改。

如果您需要使用rootScope中的某个值:

  1. 将此值提取到特定控制器的本地范围 之后使用它
  2. 使用WATCH操作符可以避免出现这种情况 在初始化之前渲染一些值。

答案 2 :(得分:0)

<option ng-repeat>在angularjs中不起作用。 你应该使用

<select id="countryMobile" ng-model="countryMobile" class="select-styled"   name="countryMobile" required ng-options="country.id as country.name for country in contries"></select>

http://docs.angularjs.org/api/ng/directive/select