Установить angular-xeditable в Zurb Foundation для приложений?

Я новичок в одностраничных приложениях, Foundation for Apps (F4A) и Angular.js. Это первый раз, когда я пытался добавить модуль Angular в фреймворк, и хотя это кажется легким, что-то не работает. Проблема в том, что угловая часть HTML отображается на визуализированной странице

{{ user.name || "empty" }}.  

Однако этого не происходит для директив F4A. Они не видны на странице. Я еще не кодировал контроллеры, просто выкладывал HTML. Этот модуль предназначен для встроенного редактирования пользователем страниц, таких как профили, поэтому мне не нужно иметь одну страницу профиля для ввода данных, а другую для отображения.

Помощь в выяснении этого будет высоко ценится! Кроме того, я нигде не мог найти соответствующее руководство в Интернете, и я не могу быть первым человеком, который облажался.

Я следую инструкциям по началу работы здесь.

1) Установка Bower прошла успешно, и модуль теперь находится в / bower-components / xeditable.

2) Я вставил предложенную ссылку css в заголовок index.html.

3) Я вставил предложенный сценарий js в заголовок, но также попытался в верхней части Gulpfile, где я думаю, что это должно быть:

// These files include Foundation for Apps and its dependencies
foundationJS: [
  'bower_components/*', //add a bunch more like this.

  //Angular-xeditable module
  'bower_components/angular-xeditable/dist/js/xeditable.js'
],

4) Этот бит уже находится в index.html Zurb вверху:

<html ng-app="app">

5) Инструкции говорят мне сделать это:

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

Тем не менее, я положил его в верхней части app.js:

(function() {
  'use strict';
  angular.module('pfApp', [
    'ui.router',
    'ngAnimate',

    //foundation
    'foundation',
    'foundation.dynamicRouting',
    'foundation.dynamicRouting.animations',

    //angular-xeditable directive
    'xeditable'
 ])

6) Шаг 6 хочет, чтобы этот код был в шаблоне, поэтому я поместил его в шаблон, в котором уже есть Angular {{ }}, который не вызывает проблем:

<div ng-controller="Ctrl">
  <a href="#" editable-text="user.name">{{ user.name || "empty" }}</a>
</div>

7) Наконец, я скопировал этот контроллер в app.js:

app.controller('Ctrl', function($scope) {
  $scope.user = {
    name: 'awesome user'
  };  
});

1 ответ

Я нашел кодировщика на Upwork.com, Наталью Иваняк, которая заставила это работать. Я показал только ключевые части в качестве примера, а не всю форму.

В projects-profile.html частично:

<form editable-form name="addProjectForm" novalidate ng-controller="projectFormCtrl">

<div class="small-12 columns">
    <a href="" ng-click="$form.$show()" e-placeholder="Describe the project in one or two short paragraphs." editable-textarea="project.description" e-name="description" e-rows="40" e-cols="40">
      <pre class="textarea-field">{{project.description || 'Describe the project in one or two short paragraphs.'}}</pre>
    </a>
  </div>

В controllers.js:

angular.module('pfApp').controller('projectFormCtrl', ['$scope', '$filter', function($scope, $filter) {
$scope.project = {
    pitch: '',
    description: '',
    whatEverElseYouWant: ''
};

Надеюсь, это поможет кому-то!!

Другие вопросы по тегам