繁体   English   中英

ng-model值未在angular指令中显示

[英]ng-model value are not shown in angular directive

我有一个用于数据插入的角度指令。 现在我想对数据编辑/更新使用相同的角度指令,但是我的问题是,输入值未显示在输入文本字段中。 我的代码如下:

指令(js):

  dirApp.directive("inputDesign", function () {
    return {
       restrict: 'E',
       transclude: true,
       replace: true,
       scope: {
          inputName: '@',
          inputNameText: "@",
          inputValue: '@',
          inputObject: '=',
          checkInput: '&'
       },
       templateUrl: '../../template/_inputDesign.php'       
    };
});

模板_inputDesign.php

<div class="form-group">
    <!-- {{inputObject[name]}} and {{inputValue}} value is not shown -->
    <input type="text" value="{{inputObject[name]}}"  class="form-control" ng-model="inputObject[name]" name="{{inputName}}" placeholder="Enter {{inputNameText}}">

 </div>

html代码::

  <input-design
        input-name="a_gradeName"
        input-name-text="Grade Name"
        input-value="some value" // not work
        input-object="gradeTbl.gradeName"
        check-input="checkInput(gradeTbl.gradeName, gradeTbl.gradeName[name])">
  </input-design>

js代码::

/* grade model */
$scope.gradeTbl = {
  'gradeName': {
      'name': 'a_gradeName',
      'a_gradeName': 'some value',
      'display': 'Grade Name',
      'status': 'initial',
      'regExpr': 'Alphanumeric'
    }
 };

 $scope.gradeTbl.gradeName.a_gradeName = "this is test";   // not worked
 $scope.gradeTbl.gradeName.name= "this is test x";

我最好的猜测是,这与以下几点有关:

scope: { inputName: '@', inputNameText: "@", inputValue: '@', inputObject: '=', checkInput: '&' },

我会尝试将inputValue更改为

inputValue: '=',

这是关于范围内=和@之间区别的另一个答案。

AngularJS指令范围中的'@'和'='有什么区别?

在_inputDesign.php中,将值和ng模型从{{inputObject[name]}}更改为inputObject.name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM