我正在开发一个向URL添加UTM参数的工具,我需要替换或删除用户输入的单词之间的空格。
<div ng-app="myApp">
<div class="large-6 columns">
<label style="font-size:16px;">URL<small> required</small></label> <input type="text" ng-model="data.url" autofocus="" placeholder="URL of your website. ex. www.widgets.com/blue-widgets">
</div>
<div class="large-6 columns">
<label style="font-size:16px;">Source<small> required</small></label> <input type="text" ng-bind="?/utm=" ng-model="data.source" placeholder="URL they are sent from. ex. twitter.com, yelp.com, etc.">
</div>
<div class="large-6 columns">
<label style="font-size:16px;">Medium<small> required</small></label> <input type="text" ng-model="data.medium" placeholder="Type of content used. ex. banner_ad, newsletter, etc.">
</div>
<div class="large-6 columns">
<label style="font-size:16px;">Campaign Term</label> <input type="text" ng-model="data.campaignTerm" placeholder="For paid keywords">
</div>
<div class="large-6 columns">
<label style="font-size:16px;">Campaign Content</label> <input type="text" ng-model="data.campaignContent" placeholder="Terms used in marketing content. ex. Free vs. 20% off">
</div>
<div class="large-6 columns">
<label style="font-size:16px;">Campaign Name<small> required</small></label> <input type="text" ng-model="data.campaignName" placeholder="Name of the campaign. ex. End of summer promotion">
</div>
<h2 ng-show="data.url" style="text-align:center">
Your URL, sir
</h2>
<div ng-show="data.url" >
<textarea rows="1" ng-trim="true" style="font-size:24px; text-align:center;" class="panel" id="selectible">{{data.url}}{{(data.source) ? '?/utm_source=' + data.source : ''}}{{(data.medium) ? '&utm_medium=' + data.medium : ''}}{{(data.campaignTerm) ? '&utm_term=' + data.campaignTerm : ''}}{{(data.campaignContent) ? '&utm_content=' + data.campaignContent : ''}}{{(data.campaignName) ? '&utm_name=' + data.campaignName : ''}}</textarea>
</div>
答案 0 :(得分:3)
您可以定义自己的指令 我写了类似的东西,这里是指令的链接函数
function (scope, element, attrs, sokratikDialogueCtrl) {
// Listen for change events to enable binding
element.on('blur keyup change', function () {
scope.$apply(read);
});
// Write data to the model
function read() {
var html = angular.element(element).children().html().replace("\s","");
scope[attrs.spaceReplacedText] = html;
}
}
我没有测试有关更换的部件。如果您将指令命名为spaceReplacedText
html将成为
<input type ="text" spaceReplacedText="$variable">
了解有关指令的更多内容