Javascript 如何在div中显示来自ng init的函数输出?
对大多数人来说微不足道 好的,我有一个div,我想在ng if设置为true和调用ng init之后将一些值绑定到其中。。此时将调用我的ng init,但消息未绑定。我可能有错误的标签,但你明白我的意思。。我希望在我的语句变为true后调用该函数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-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