Хранить область в JSON

0

Я работаю над веб-приложением, которое отображает приглашение, основанное на том, в каком поле пользователь находится в фокусе или нет. У меня есть несколько разных сценариев текста, которые я хочу отображать в этих разных точках.

То, что я хотел бы сделать, - отобразить данные области в тех строках, когда они отображаются. Сейчас все становится визуализированным как текст. Вот что я делаю. В представлении. (Игнорируйте мое плохое использование ng-init, я изменю его на контроллер.)

    <div><p>Full Name</p><input placeholder="Name" name="personal.name" ng-model="personal.name" ng-model-options="{ updateOn: 'default blur' }" class="medium" type="text"/></div>
    <div><p>Address</p><input class="long" type="text" ng-model="personal.address" ng-model-options="{ updateOn: 'default blur' }" placeholder="Address"/></div>
    <div><p>Phone</p><input placeholder="Phone" ng-model="personal.phone" type="phone" ng-model-options="{ updateOn: 'default blur' }" only-digits/></div>

        <div ng-init="script()">
         <div ng-repeat="scripts in script">
          <div ng-show="{{scripts.element}}" ng-hide="true" class="alert-bar">
            <div class="wrapper">
              <div ng-bind="scripts.script"></div>
            </div>
          </div>
         </div>
        </div>

и контроллер снова проигнорирует данные в этом, я сохраню это позже.

    $scope.script = function(){

          $scope.script = [
            {
             'element': "personal.name",
             'script': '{{personal.name}} welcome to SOCU\ loan application.'
            },
            {
             'element': "personal.address",
             'script':  '{{personal.name}}, please enter your full current address.'
            },
            {
             'element': "personal.phone",
             'script': '{{personal.name}}, please enter your current phone number, with the area code.'
            }
          ];
    }

Все работает, за исключением того, что я не могу получить название. Я знаю, что здесь я не должен использовать двойные фигурные скобки. Я также попытался получить данные непосредственно из области $, но я не вижу никаких личных данных.

  • 0
    Собираетесь ли вы повторить массив сценариев?
  • 0
    Да, это то, что я делаю. Который это работает.
Показать ещё 5 комментариев

1 ответ

0

Вы не можете делать привязки в своем контроллере, поскольку они предназначены только для просмотра.

Поскольку вы перебираете массив скриптов, вы можете просто получить доступ к элементам объекта,

{{scripts.element + scripts.script}}

Синтаксис руля должен работать для элемента div. Имеют структуру массива, как показано ниже,

$scope.script = [{
    element: 'Person name',
    script: 'Your script'
}];

В вашем div,

<div ng-init="script()">
    <div ng-repeat="scripts in script">
        <div ng-show="{{scripts.element}}" ng-hide="true" class="alert-bar">
            <div class="wrapper">
                <div>
                    {{ scripts.element + " , " + scripts.script }}
                </div>
            </div>
        </div>
    </div>
</div>
  • 0
    Я привязан к сценариям в div.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню