AngularJS中的内容管理字符串

Content managed strings in AngularJS

本文关键字:管理 字符串 AngularJS      更新时间:2023-09-26

我正在构建一个大型AngularJS应用程序,其中一些UI文本需要进行内容管理。这是因为客户端需要在启动后根据用户反馈编辑诸如上下文帮助之类的内容。

我正在寻找将文本字符串插入UI的方法。到目前为止,我已经考虑过

  • 使用angular-translate之类的东西在运行时动态插入文本
  • 使用类似gulp-template的东西在构建步骤中静态地将字符串插入模板

我以前从未尝试过,我意识到可能有一些问题我没有考虑到。我希望有解决类似问题的经验的人能提出一些建议。

请注意,目前还没有国际化应用程序的计划。

我会把所有的副本在自己的指令,所以它可以访问到所有的组件。从本质上讲,它只是将你的内容从逻辑中分离出来。

然而,我不认为这是一个理想的解决方案。我想更像是建议而不是答案。我认为理想情况下,您可以设置权限,以便每个指令都可以为某些用户编辑内容。他们可以提交他们的更改到UI副本,然后你会有一个后端服务,将自动生成copy指令。
(function() {
  "use strict";
  angular
    .module("app", [])
    .service("copy", copy)
    .directive("appNav", ["copy", appNav])
    .controller("Ctrl", ["$scope", "copy", Ctrl]);
  function copy() {
    return {
      buttonExplanation: "this is a button..?",
      input: [
        { placeholder: "hahaah", label: "put in a number?" },
        { placeholder: "???", label: "a box" }
      ],
      indexTitle: "main title"
    }
  }
  function appNav(copy) {
    return {
      restrict: "E",
      templateUrl: "./appNav.tmpl.html",
      scope: { copy: "=" }
    }
  }
  function Ctrl($scope, copy) {
    var vm = this;
    vm.copy = copy;
    vm.title = copy.indexTitle;
  }
})();

http://plnkr.co/edit/zpSXqzPBPLoc1asL5WrE?p =预览