أحتاج إلى عرض بعض النص في علامة DIV باستخدام Angular

0

هل يمكنك مساعدتي ، ليس لدي معرفة الزاوي. أحتاج إلى عرض بعض النص في علامة DIV. عودة حالة الرؤية من دالة JS: isShowing. يحتوي النص على علامات HTML ويعود من وظيفة JS: AgreementMessage.

<div ng-controller="formController" class="container" id="container">
    <div class="agreement-signed-message" ng-if="isShowing()">{{showAgreementMessage()}}</div>
</div>


function showAgreementMessage() {
    return "message";
}

function isShowing() {
    return true;
}

هذه هي الوظائف التجريبية.

2 الاجابة

1
افضل جواب

تحتاج إلى استخدام $scope لاستدعاء الوظيفة من HTML (عرض) إلى وحدة التحكم الخاصة بك عن طريق الربط :

function DemoCtrl($scope) {
   $scope.showAgreementMessage = function() {
      return "message";
  }

  $scope.isShowing = function() {
      return true;
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-controller="DemoCtrl" ng-app> 
  <div class="agreement-signed-message" ng-if="isShowing()">{{showAgreementMessage()}}</div>
</div>

:مؤلف
1
افضل جواب

أنا في الواقع لا أرى مشكلة في التعليمات البرمجية التي تستخدمها إذا قمت بنقل كلا function s إلى formController .

نسيان إضافتها إلى $scope سوف يسبب لك formController لعدم القدرة على رؤيتهم.

var app = angular.module("Test", []);

var formController = function($scope) {

  $scope.showAgreementMessage = function() {
    return "messagesdf";
  }

  $scope.isShowing = function() {
    return true;
  }
}

app.controller(formController, ["$scope", "formController"]);

// Don't do this. Add them to formController
// function showAgreementMessage() { ... }
// function isShowing() { ... }
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="Test">
  <div ng-controller="formController" class="container" id="container">
    <div class="agreement-signed-message" ng-if="isShowing()">
      {{ showAgreementMessage() }}
    </div>
  </div>
</div>

:مؤلف
فوق
قائمة طعام