Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在div中显示来自ng init的函数输出?_Javascript_Jquery_Angularjs - Fatal编程技术网

Javascript 如何在div中显示来自ng init的函数输出?

Javascript 如何在div中显示来自ng init的函数输出?,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,对大多数人来说微不足道 好的,我有一个div,我想在ng if设置为true和调用ng init之后将一些值绑定到其中。。此时将调用我的ng init,但消息未绑定。我可能有错误的标签,但你明白我的意思。。我希望在我的语句变为true后调用该函数 <div ng-repeat="field in model.fieldData"> <button class="btn-xs" ng-show="!isLocked(field.Id)" ng-click=

对大多数人来说微不足道

好的,我有一个div,我想在ng if设置为true和调用ng init之后将一些值绑定到其中。。此时将调用我的ng init,但消息未绑定。我可能有错误的标签,但你明白我的意思。。我希望在我的语句变为true后调用该函数

    <div ng-repeat="field in model.fieldData">
        <button class="btn-xs" ng-show="!isLocked(field.Id)" ng-click="openField(field)">
            Edit
        </button>

        <div ng-if="isLocked(field.Id)" ng-init="msg = getLockMessage(field.Id)" ng-bind="msg">
        </div>
    </div>

编辑
看看这个小玩意儿:

是一个基于html的小示例,非常有效。对元素父元素内部的元素msg change进行一些更改,因为如果存在大量fieldData,则替换相同的变量

JS:

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {
  $scope.model = {
      fieldData: [{
      Id: 123,
      locked: false,
    }]
  };
  $scope.isLocked = function(element) {
    return element.locked;
  }
  $scope.openField = function(element) {
    element.locked = true;
  }
  $scope.getLockMessage = function(element) {
    return "message from " + element.Id
  }
});
以及html:

  <div ng-repeat="field in model.fieldData">
        <button class="btn-xs" ng-show="!isLocked(field)" ng-click="openField(field)">
            Edit
        </button>

        <div ng-if="isLocked(field)" ng-init="field.msg = getLockMessage(field)" ng-        bind="field.msg">
        </div>
    </div>

编辑

尝试一个
ng show=(msg!=null)
@devqon它似乎没有正确设置msg的值。但是它肯定是从控制器直接返回的。你能提供一个JSFIDLE吗?谢谢!虽然这项工作现在已经为我打开了一个大的蠕虫罐lol