我有一個字符串,如var message = "you are moving to {{output.number}}";
如何將字符串轉換爲角度綁定?
我想要把它放到div元素。我嘗試使用$("#message").html(message);
但它只是爲我打印整個字符串。我想讓output.number
打印它的值。是否有可能實現我想要的?
我正在使用angular.js 1.5。
我有一個字符串,如var message = "you are moving to {{output.number}}";
如何將字符串轉換爲角度綁定?
我想要把它放到div元素。我嘗試使用$("#message").html(message);
但它只是爲我打印整個字符串。我想讓output.number
打印它的值。是否有可能實現我想要的?
我正在使用angular.js 1.5。
使用$插值服務,如:。
var message = $interpolate("you are moving to {{number}}")(output)
// or
var message = $interpolate("you are moving to {{output.number}}")($scope)
哇這是我發現的最佳解決方案。非常感謝! –
不是問題:)玩得開心! – Melzar
你幾乎有隻是嘗試:
$scope.output.number = '123';
var message = "you are moving to" + output.number;
$("#message").html(message);
不要把變量中 「」 引號。
我希望你正在尋找這樣的東西。你可以通過在控制器內使用scope變量來完成。
<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.bootcss.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
<input type="number" ng-model="output.number" />
<button ng-click="AppendItem()">Append</button>
<div id="message"></div>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function ($scope) {
$scope.output = {};
$scope.AppendItem = function() {
var string = "Your Number is " + $scope.output.number;
$("#message").html(string);
}
});
</script>
</body>
</html>
當我們將一個字符串變量追加到另一個字符串變量,那麼我們就需要使用附加操作符即「 +「。這是一個例子。
var output.number = 10;
var message = "you are moving to " + output.number;
$("#message").html(message);
你可以這樣做使用$compile
:
$compile(angular.element(document.querySelectorAll('#message')[0]).html("you are moving to {{output.number}}"))($scope);
添加$compile
作爲控制器的依賴。
一切順利。
這也行得通。但我喜歡$ interpolat爲我的問題 –
好吧。祝一切順利。 – SaiUnique
你可以試試這個:
<html ng-app="app">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body ng-controller="appCtrl">
<p id="message"></p>
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js"> </script>
</body>
JS:
不應該寫內部控制DOM操作代碼,但可以得到的想法如何做到這一點。
var app = angular.module('app', []);
app.controller('appCtrl', function($scope, $interpolate){
var msg = "you are moving to {{number}}";
$scope.number = 10;
$('#message').html($interpolate(msg)($scope));
});
我不明白....請發佈一個可驗證的例子。如果你使用AngularJS,你爲什麼使用Jquery ...? – Alexis
Angular 1.X或2.X? – olivarra1
你可以使用'angular.element',你必須用'$ compile'綁定'$ scope'和你的dom元素[看到這個答案](http://stackoverflow.com/questions/20651578/how-to- angularjs-controller-to-dynamic-html- –